|
[注意]圆周率小数点后一万位!谁看的下去谁看!
正多边形逼近方法是思考时常用的方法,逼近PI的算法很多,像无穷级数等数学里到处都是Pi,上面的就是用级数展开做迭代做的,而且由于算法本身和环境的限制,只能算得不多的位置。
如PI/4 = 4 arctan(1/5) - arctan(1/239)
arctan(x) = x - x3/3 + x5/5 - x7/7
arctan与Pi的关系高斯做过很好的结果,以前在图书馆一本数学刊物上看过。知道的说下那篇文章,特别好的文章,想重温下。
对于Pi级数算Pi值,总要是看收敛速度快否,
蒙特卡罗算法的原理是:在正方形内随机取一点,其落在内切圆内的概率应该是二者(圆和方)的面积比。用到了随机数。
#include
#include
long a=10000,b,c=2800,d,e,f[2801],g;
int main()
{
for(;b-c;)
f[b++]=a/5;
for(;d=0,g=c*2;c-=14,printf("%.4d",e+d/a),e=d%a)
for(b=c;d+=f*a,f=d%--g,d/=g--,--b;d*=b);
system("PAUSE");
}
如果用dev-C++记得#include 和system("PAUSE")or getchar();
|
|