圆周率 是靠什么的出来的! 并认证它就是圆周率?
来源:学生作业帮助网 编辑:作业帮 时间:2024/11/25 20:42:33
圆周率 是靠什么的出来的! 并认证它就是圆周率?
圆周率 是靠什么的出来的! 并认证它就是圆周率?
圆周率 是靠什么的出来的! 并认证它就是圆周率?
圆周率是任意圆周长除以直径的数值,约为3.1415926
其前五十位:3.14159265358979323846264338327950288419716939937510
现在使用计算机计算,已达到数亿位
古人计算圆周率,一般是用割圆法.即用圆的内接或外切正多边形来逼近圆的周长.阿基米德用正96边形得到圆周率小数点后3位的精度;刘徽用正3072边形得到5位精度;鲁道夫用正262边形得到了35位精度.这种基于几何的算法计算量大,速度慢,吃力不讨好.随着数学的发展,数学家们在进行数学研究时有意无意地发现了许多计算圆周率的公式.下面挑选一些经典的常用公式加以介绍.除了这些经典公式外,还有很多其它公式和由这些经典公式衍生出来的公式,就不一一列举了.
1、马青公式
π=16arctan1/5-4arctan1/239
这个公式由英国天文学教授约翰·马青于1706年发现.他利用这个公式计算到了100位的圆周率.马青公式每计算一项可以得到1.4位的十进制精度.因为它的计算过程中被乘数和被除数都不大于长整数,所以可以很容易地在计算机上编程实现.
还有很多类似于马青公式的反正切公式.在所有这些公式中,马青公式似乎是最快的了.虽然如此,如果要计算更多的位数,比如几千万位,马青公式就力不从心了.
2、拉马努金公式
1914年,印度天才数学家拉马努金在他的论文里发表了一系列共14条圆周率的计算公式.这个公式每计算一项可以得到8位的十进制精度.1985年Gosper用这个公式计算到了圆周率的17,500,000位.
1989年,大卫·丘德诺夫斯基和格雷高里·丘德诺夫斯基兄弟将拉马努金公式改良,这个公式被称为丘德诺夫斯基公式,每计算一项可以得到15位的十进制精度.1994年丘德诺夫斯基兄弟利用这个公式计算到了4,044,000,000位.丘德诺夫斯基公式的另一个更方便于计算机编程的形式是:
3、AGM(Arithmetic-Geometric Mean)算法
高斯-勒让德公式:
这个公式每迭代一次将得到双倍的十进制精度,比如要计算100万位,迭代20次就够了.1999年9月,日本的高桥大介和金田康正用这个算法计算到了圆周率的206,158,430,000位,创出新的世界纪录.
4、波尔文四次迭代式:
这个公式由乔纳森·波尔文和彼得·波尔文于1985年发表,它四次收敛于圆周率.
5、bailey-borwein-plouffe算法
这个公式简称BBP公式,由David Bailey,Peter Borwein和Simon Plouffe于1995年共同发表.它打破了传统的圆周率的算法,可以计算圆周率的任意第n位,而不用计算前面的n-1位.这为圆周率的分布式计算提供了可行性.
6、丘德诺夫斯基公式
这是由丘德诺夫斯基兄弟发现的,十分适合计算机编程,是目前计算机使用较快的一个公式.
还有一个计算圆周率的程序.新建一个文本文档,输入下面程序,保存,重命名为pi.vbs,双击即可在C盘根目录生成圆周率:
set fso=CreateObject( "Scripting.FileSystemObject" )
set xx=fso.opentextfile("c:\PI.txt",2,TRUE)
Dim f(28010)
a = 10000
b = 0
c = 28000
While b < c
f(b) = a / 5
b = b + 1
Wend
Do While c > 0
d = 0
g = c * 2
b = c
Do
d = d + f(b) * a
g = g - 1
f(b) = d Mod g
d = Fix(d / g)
g = g - 1
b = b - 1
If b = 0 Then Exit Do
d = d * b
Loop
c = c - 14
xx.write(e + d \ a)
e = d Mod a
Loop
xx.close
Set fso = nothing