C语言四行代码计算出圆周率小数点后800位

圆周率的计算算法一直以来都被用于测试计算机的性能还有编程技能。这是某个不知名的大神写的一个程序,仅仅几行代码瞬间计算出圆周率小数点后800位。(头条代码不能缩进,所以还是用 —- 代替缩进)

C语言四行代码计算出圆周率小数点后800位

 

#include <stdio.h>
#include <windows.h>
int 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,Sleep(80))
——–for(b=c;d+=f[b]*a,f[b]=d%–g,d/=g–,–b;d*=b);
—-return 0;
}

小猿是看不懂这个代码,网上有对其的分析:
1.使用的是这个公式

pi = 2 + 1/3 * (2 + 2/5 * (2 + 3/7 * (2 + … (2 + k/2k+1 * (2 + … ))…)))

(允许我懵逼3秒钟)
2.要想精确计算出PI,就需要将上面那个公式迭代无数次,并且要保证每个分数都是精确的,C语言是不能实现了,毕竟double型有精度限制。这里只能迭代有限的次数,保证让每个分数都精确。这里就只迭代了2800次(c=2800)。

3.输出的时候也是每4位一起输出,共输出了200段。

4.其他的小猿就看不懂了。大神知道的一起来讨论讨论~

C语言四行代码计算出圆周率小数点后800位

声明:该文观点仅代表作者本人,不代表百货之家立场,百货之家仅提供信息存储空间服务。

发表评论

登录后才能评论