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

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

图片[1]-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.其他的小猿就看不懂了。大神知道的一起来讨论讨论~

图片[2]-C语言四行代码计算出圆周率小数点后800位-百货之家

© 版权声明
THE END
喜欢就支持一下吧
点赞1 分享
抢沙发

请登录后发表评论