1、这是一个计算圆周率的小程序。
2、公式: ∞PI/2=∑(n!/(2n+1)!!)n=0这个公式收敛很快,计算2800项就可以精确到小数点后800位。
3、代码解释:for(;b-c;)的意思时说当b=2800的时候退出循环。C语言全局变量是静态存储,由系统缺省初始化为0。而局部变量声明部分,就是AUTO存储,都必须进行初始化。另外两个for则是对公式的实现。
4、故弄玄虚。不过,天才就是有故弄玄虚的资本。
5、翻译之后的代码:#include "stdio.h"long b,c,d,e,f[2801];void main(){ for (int i = 0; i < 2800; i++) f[i] = 2000; f[2800] = 0; for (c = 2800; c > 0; c -= 14) { d = 0; for (b = c; b > 0; b--) { d += f[b] * 10000; f[b] = d % (2*b-1); d /= (2*b-1); if (b > 1) d *= (b-1); } printf("%.4d", e + d / 10000); e = d % 10000; }}