C++~求圆周率
C++~求圆周率,请注意:本程序在vc6.0下运行#include <iostream>
using namespace std;
long a=10000,b=0,c=2800,d,e=0,f[2801],g;
int main()
{
for(; b-c;)
{
f[b++]=a/5;
}
for(; d=0,g=c*2;)
{
for(b=c; d+=f[b]*a,f[b]=d%--g,d/=g--,--b; d*=b);
c-=14;
if(e+d/a==3141)
{
cout<<(e+d/a)*1.0/1000;
e=d%a;
continue;
}
if(e+d/a<10)
{
cout<<"000"<<e+d/a;
}
else if(e+d/a<100)
{
cout<<"00"<<e+d/a;
}
else if(e+d/a<1000)
{
cout<<"0"<<e+d/a;
}
else cout<<e+d/a;
e=d%a;
}
cout<<"..."<<endl;
return 0;
}
结果如下:
3.141592653589793238462643383279502884197169399375105820974944592307816406286208
99862803482534211706798214808651328230664709384460955058223172535940812848111745
02841027019385211055596446229489549303819644288109756659334461284756482337867831
65271201909145648566923460348610454326648213393607260249141273724587006606315588
17488152092096282925409171536436789259036001133053054882046652138414695194151160
94330572703657595919530921861173819326117931051185480744623799627495673518857527
24891227938183011949129833673362440656643086021394946395224737190702179860943702
77053921717629317675238467481846766940513200056812714526356082778577134275778960
91736371787214684409012249534301465495853710507922796892589235420199561121290219
60864034418159813629774771309960518707211349999998372978049951059731732816096318
5...
[ 本帖最后由 303770957 于 2013-9-12 15:17 编辑 ]