文章·资料 电脑软件 手机软件 网站源码




    本 站 搜 索
   推 荐 文 章        More...
占豪:中美贸易战,怎么计算..
  关于贸易战,占豪已写十几..
占豪:中美贸易战开打,美国..
  据媒体报道,美贸易代表确..
占豪:中美贸易战第一枪打响..
  这是一篇耗时一周,每天熬..
汉语是伟大的,英语是愚蠢的
  汉语是伟大的,英语是愚蠢的..
人民网用这19个字总结中国..
  范仲淹“先天下之忧而忧,..
    文 章 阅 读 排 行
成都公交自燃事故是真正的..
  成都公交自燃事故是人祸,..
金灿荣:未来10年世界大变局
  我今天很大胆地选了一个大..
“熊猫烧香”讽刺了整个网..
  “熊猫烧香”的始作俑者落..
中国人,站直了,别跪下!
“负心郎”拐卖亲生儿子 被抓..
司机提醒乘客防盗,众贼一..
时报讯 (记者 程潇龙)小偷上车..
谁在践踏中国龙?
日本立邦漆广告(单击图片以..
索尼CEO与任正非的问答
最近,一份任正非会见索尼CEO..
今天,我们更要感谢他们!
一个不懂得感恩的民族,注定..
“木桶理论”解读中美之争
  一、帝国木桶   面..
王诚:中美贸易战 中国手握..
  史诗级别的中美贸易大战已..
 文 章 信 息
圆周率,计算机C++编译器中的运算程序
评论()〗〖留言〗〖收藏
〖文章分类:话题 / 科技〗〖阅读选项
微机 Windows XP 中 Dev-cpp 中的运算程序(30000位)(C++)

#include <cstdlib.h>
#include <iostream.h>
#include <fstream.h>
#define N 30015
using namespace std;
void mult (int *a,int b,int *s)
{
for (int i=N,c=0;i>=0;i--)
{
int y=(*(a+i))*b+c;
c=y/10;
*(s+i)=y%10;
}
}
void divi (int *a,int b,int *s)
{
for (int i=0,c=0;i<=N;i++)
{
int y=(*(a+i))+c*10;
c=y%b;
*(s+i)=y/b;
}
}
void incr(int *a,int *b,int *s)
{
for (int i=N,c=0;i>=0;i--)
{
int y=(*(a+i))+(*(b+i))+c;
c=y/10;
*(s+i)=y%10;
}
}
bool eqs(int *a,int *b)
{
int i=0;
while (((*(a+i))==(*(b+i)))&&(i<=N)) i++;
return i>N;
}
int main(int argc, char *argv[])
{
int lpi[N+1],lls[N+1],lsl[N+1],lp[N+1];

int *pi=lpi,*ls=lls,*sl=lsl,*p=lp;
for (int i=0;i<=N;i++)*(pi+i)=*(ls+i)=*(sl+i)=*(p+i)=0;
memset(pi,0,sizeof(pi));
memset(ls,0,sizeof(ls));
memset(sl,0,sizeof(sl));
memset(p,0,sizeof(p));
*pi=*ls=*sl=1;
for (int i=1;true;i++)
{
mult(ls,i,sl);
divi(sl,2*i+1,ls);
incr(pi,ls,p);
if (eqs(pi,p)) break;
int *t;
t=p;
p=pi;
pi=t;
if (i%50==0) cout << i << " ";
}
cout << endl;
mult(p,2,pi);
ofstream fout("pi.txt");
fout << *pi << ".";
for (int i=1;i<=N;i++)
{
fout << *(pi+i);
if (i%10==0) fout << " ";
if (i%80==0) fout << endl;
}
return EXIT_SUCCESS;
}

注:
①运行时会有数据弹出,那是无关紧要的,只为了加快了感觉速度;
②最后的txt文本里有30015位,其中最后15位可能是错的。
③程序中的<,>是大写的请改成小写。

文章作者:未知  更新日期:2008-09-10
〖文章浏览:〗〖发送文章〗〖打印文章
上下篇章 ·圆周率小数点后21500位2008-09-10
·圆周率的计算历史2008-09-10
·圆周率的推算2008-09-10
相关文章 ·圆周率的推算2008-09-10
·圆周率简介及历史2008-09-10
·圆周率的计算及方法2008-09-10
·圆周率小数点后21500位2008-09-10
·圆周率的计算历史2008-09-10
〖文章阅读说明〗
·本站大部分文章转载于网络,如有侵权请留言告知,本站即做删除处理。
·本站法律法规类文章转载自[中国政府网(www.org.cn)],相关法律法规如有修订,请浏览[中国政府网]网站。
·本站转载的文章,不为其有效性,实效性,安全性,可用性等做保证。
·如果有什么问题,或者意见建议,请联系[网站管理员]。