现代计算机是如何计算圆周率的?

2020-10-29 教育 237阅读

可以用编程语言计算。以下是python语言计算圆周率:

pi = 0.0

N = 100

for i in range(N):

pi += (1/pow(16,i) * (  4/(8*i +1) -2/(8*i+4)-1/(8*i+5) -1/(8*i +6) )   )

print('圆周率为{:.10f}'.format(pi))

结果如下:圆周率为3.1415926536

算术几何平均值和迭代法:

算术几何平均值(Arithmetic-Geometric Mean, AGM) M(a, b) 定义如下:

a0 = a, b0 = b

ak = (ak-1 + bk-1) / 2, bk = sqrt(ak-1 bk-1)

M(a, b) = limk->inf ak = limk->inf bk

然后,由椭圆积分的一系列理论可以推导出如下公式:

a0 = 1, b0 = 1 / sqrt(2)

1/PI = { 1 - sumk=0~inf [2k (ak2 - bk2)] } / 2M(a0, b0)2 (AGM)

扩展资料:

第一个快速算法由英国数学家梅钦(John Machin)提出,1706年梅钦计算π值突破100位小数大关,他利用了如下公式:

其中arctan x可由泰勒级数算出。类似方法称为“梅钦类公式”。

斯洛文尼亚数学家Jurij Vega于1789年得出π的小数点后首140位,其中只有137位是正确的。这个世界纪录维持了五十年。他利用了梅钦于1706年提出的数式。

到1948年英国的弗格森(D. F. Ferguson)和美国的伦奇共同发表了π的808位小数值,成为人工计算圆周率值的最高纪录。

把圆周率的数值算得这么精确,实际意义并不大。现代科技领域使用的圆周率值,有十几位已经足够了。如果以39位精度的圆周率值,来计算宇宙的大小,误差还不到一个原子的体积  。以前的人计算圆周率,是要探究圆周率是否循环小数。

参考资料:百度百科——圆周率

声明:你问我答网所有作品(图文、音视频)均由用户自行上传分享,仅供网友学习交流。若您的权利被侵害,请联系fangmu6661024@163.com