计算圆周率

据说有个计算圆周率的外星人程序,如下:

#include<cstdio>
#include<cstdlib>
 int a=10000,b,c=8400,d,e,f[8401],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[b]*a,f[b]=d%--g,d/=g--,--b;d*=b);
    
    system("pause");
    return 0;
}

稍微整理:

#include<cstdio>
#include<cstdlib>
int main()
{
    int f[8401], a, b, c = sizeof(f) / sizeof(f[0]) - 1, d, e, g;
    for (a = 10000, b = e = 0; b != c; ) f[b++] = a / 5;
    for (; g = c * 2; c -= 14, printf("%.4d", e + d / a), e = d % a)
    for (d = 0, b = c; d += f[b] * a, f[b] = d % --g, --b; d *= b) d /= g--;
    
    system("pause");
    return 0;
}

看不出怎么计算的。。/_\

计算圆周率的一个公式:

pi

代码验证:

#include<cstdio>
#include<cstdlib>
int main()
{
    double pi=2;
    for(int k=49;k>0;k--) 
        pi=pi*k/(2*k+1)+2;
    printf("pi=%.15lf...\n",pi);
    system("pause");
    return 0;
}

输出结果:pi = 3.141592653589793...

原文地址:https://www.cnblogs.com/sooner/p/3028955.html