初中学习网-初中学习方法、解题技巧、知识点总结、学习计划、同步辅导资料!

初中学习网-人民教育出版社人教版部编同步解析与测评答案-电子课本资料下载-知识点总结学习方法与技巧补课解题技巧学习计划表-人教网-初中试卷网-中学学科网

计算圆周率

http://www.newdu.com 2018-12-06 人民教育出版社 佚名 参加讨论

    计算圆周率
    古今中外,许多人致力于圆周率的研究与计算。为了计算出圆周率的越来越好的近似值,一代代的数学家为这个神秘的数贡献了无数的时间与心血。十九世纪前,圆周率的计算进展相当缓慢,十九世纪后,计算圆周率的世界纪录频频创新。整个十九世纪,可以说是圆周率的手工计算量最大的世纪。进入二十世纪,随着计算机的发明,圆周率的计算有了突飞猛进。借助于超级计算机,人们已经得到了圆周率的2061亿位精度。历史上最马拉松式的计算,其一是德国的Ludolph Van Ceulen,他几乎耗尽了一生的时间,计算到圆的内接正262边形,于1609年得到了圆周率的35位精度值,以至于圆周率在德国被称为Ludolph数;其二是英国的William Shanks,他耗费了15年的光阴,在1874年算出了圆周率的小数点后707位。可惜,后人发现,他从第528位开始就算错了。把圆周率的数值算得这么精确,实际意义并不大。现代科技领域使用的圆周率值,有十几位已经足够了。如果用Ludolph Van Ceulen算出的35位精度的圆周率值,来计算一个能把太阳系包起来的一个圆的周长,误差还不到质子直径的百万分之一。以前的人计算圆周率,是要探究圆周率是否循环小数。自从1761年Lambert证明了圆周率是无理数,1882年Lindemann证明了圆周率是超越数后,圆周率的神秘面纱就被揭开了。现在的人计算圆周率, 多数是为了验证计算机的计算能力,还有,就是为了兴趣。
    圆周率的计算方法
    古人计算圆周率,一般是用割圆法。即用圆的内接或外切正多边形来逼近圆的周长。Archimedes用正96边形得到圆周率小数点后3位的精度;刘徽用正3072边形得到5位精度;Ludolph Van Ceulen用正262边形得到了35位精度。这种基于几何的算法计算量大,速度慢,吃力不讨好。随着数学的发展,数学家们在进行数学研究时有意无意地发现了许多计算圆周率的公式。下面挑选一些经典的常用公式加以介绍。除了这些经典公式外,还有很多其他公式和由这些经典公式衍生出来的公式,就不一一列举了。
    1、 Machin公式
    
    
    这个公式由英国天文学教授John Machin于1706年发现。他利用这个公式计算到了100位的圆周率。Machin公式每计算一项可以得到1.4位的十进制精度。因为它的计算过程中被乘数和被除数都不大于长整数,所以可以很容易地在计算机上编程实现。
    Machin.c 源程序
    还有很多类似于Machin公式的反正切公式。在所有这些公式中,Machin公式似乎是最快的了。虽然如此,如果要计算更多的位数,比如几千万位,Machin公式就力不从心了。下面介绍的算法,在PC机上计算大约一天时间,就可以得到圆周率的过亿位的精度。这些算法用程序实现起来比较复杂。因为计算过程中涉及两个大数的乘除运算,要用FFT(Fast Fourier Transform)算法。FFT可以将两个大数的乘除运算时间由O(n2)缩短为O(nlog(n))。
    2、 Ramanujan公式
    
    

    1914年,印度数学家Srinivasa Ramanujan在他的论文里发表了一系列共14条圆周率的计算公式,这是其中之一。这个公式每计算一项可以得到8位的十进制精度。1985年Gosper用这个公式计算到了圆周率的17,500,000位。
    1989年,David & Gregory Chudnovsky兄弟将Ramanujan公式改良成为:
    
    这个公式被称为Chudnovsky公式,每计算一项可以得到15位的十进制精度。1994年Chudnovsky兄弟利用这个公式计算到了4,044,000,000位。Chudnovsky公式的另一个更方便于计算机编程的形式是:
    
    3、AGM(Arithmetic-Geometric Mean)算法
    Gauss-Legendre公式:
    初值:
    重复计算:
    最后计算:
    这个公式每迭代一次将得到双倍的十进制精度,比如要计算100万位,迭代20次就够了。1999年9月Takahashi和Kanada用这个算法计算到了圆周率的206,158,430,000位,创出新的世界纪录。
    4、Borwein四次迭代式:
    初值:
    重复计算:  
    最后计算:
    这个公式由Jonathan Borwein和Peter Borwein于1985年发表,它四次收敛于圆周率。
    5、 Bailey-Borwein-Plouffe算法
    

    这个公式简称BBP公式,由David Bailey, Peter Borwein和Simon Plouffe于1995年共同发表。它打破了传统的圆周率的算法,可以计算圆周率的任意第n位,而不用计算前面的n-1位。这为圆周率的分布式计算提供了可行性。1997年,Fabrice Bellard找到了一个比BBP快40%的公式:
    
    圆周率的计算历史
    

    时间
    

    纪录创造者
    

    小数点后位数
    

    前2000
    

    古埃及人
    

    1
    

    前1200
    

    中国
    

    1
    

    前500
    

    圣经
    

    1
    

    前250
    

    Archimedes
    

    3
    

    263
    

    刘徽
    

    5
    

    480
    

    祖冲之
    

    7
    

    1429
    

    Al-Kashi
    

    14
    

    1593
    

    Romanus
    

    15
    

    1596
    

    Ludolph Van Ceulen
    

    20
    

    1609
    

    Ludolph Van Ceulen
    

    35
    

    1699
    

    Sharp
    

    71
    

    1706
    

    John Machin
    

    100
    

    1719
    

    De Lagny
    

    127(112位正确)
    

    1794
    

    Vega
    

    140
    

    1824
    

    Rutherford
    

    208(152位正确)
    

    1844
    

    Strassnitzky & Dase
    

    200
    

    1847
    

    Clausen
    

    248
    

    1853
    

    Lehmann
    

    261
    

    1853
    

    Rutherford
    

    440
    

    1874
    

    William Shanks
    

    707(527位正确)
    

    20世纪后
    

    年
    

    月
    

    纪录创造者
    

    所用机器
    

    小数点后位数
    

    1946
    

    
    

    Ferguson
    

    
    

    620
    

    1947
    

    1
    

    Ferguson
    

    
    

    710
    

    1947
    

    9
    

    Ferguson & Wrench
    

    
    

    808
    

    1949
    

    
    

    Smith & Wrench
    

    
    

    1,120
    

    1949
    

    
    

    Reitwiesner et al
    

    ENIAC
    

    2,037
    

    1954
    

    
    

    Nicholson & Jeenel
    

    NORC
    

    3,092
    

    1957
    

    
    

    Felton
    

    Pegasus
    

    7,480
    

    1958
    

    1
    

    Genuys
    

    IBM 704
    

    10,000
    

    1958
    

    5
    

    Felton
    

    Pegasus
    

    10,021
    

    1959
    

    
    

    Guilloud
    

    IBM 704
    

    16,167
    

    1961
    

    
    

    Shanks & Wrench
    

    IBM 7090
    

    100,265
    

    1966
    

    
    

    Guilloud & Filliatre
    

    IBM 7030
    

    250,000
    

    1967
    

    
    

    Guilloud & Dichampt
    

    CDC 6600
    

    500,000
    

    1973
    

    
    

    Guilloud & Bouyer
    

    CDC 7600
    

    1,001,250
    

    1981
    

    
    

    Miyoshi & Kanada
    

    FACOM M-200
    

    2,000,036
    

    1982
    

    
    

    Guiloud
    

    
    

    2,000,050
    

    1982
    

    
    

    Tamura
    

    MELCOM 900II
    

    2,097,144
    

    1982
    

    
    

    Tamura & Kanada
    

    HITACHI M-280H
    

    4,194,288
    

    1982
    

    
    

    Tamura & Kanada
    

    HITACHI M-280H
    

    8,388,576
    

    1983
    

    
    

    Kanada, Yoshino & Tamura
    

    HITACHI M-280H
    

    16,777,206
    

    1983
    

    10
    

    Ushiro & Kanada
    

    HITACHI S-810/20
    

    10,013,395
    

    1985
    

    10
    

    Gosper
    

    Symbolics 3670
    

    17,526,200
    

    1986
    

    1
    

    Bailey
    

    CRAY-2
    

    29,360,111
    

    1986
    

    9
    

    Kanada & Tamura
    

    HITACHI S-810/20
    

    33,554,414
    

    1986
    

    10
    

    Kanada & Tamura
    

    HITACHI S-810/20
    

    67,108,839
    

    1987
    

    1
    

    Kanada, Tamura & Kubo et al
    

    NEC SX-2
    

    134,217,700
    

    1988
    

    1
    

    Kanada & Tamura
    

    HITACHI S-820/80
    

    201,326,551
    

    1989
    

    5
    

    Chudnovskys
    

    CRAY-2 & IBM-3090/VF
    

    480,000,000
    

    1989
    

    6
    

    Chudnovskys
    

    IBM 3090
    

    525,229,270
    

    1989
    

    7
    

    Kanada & Tamura
    

    HITACHI S-820/80
    

    536,870,898
    

    1989
    

    8
    

    Chudnovskys
    

    IBM 3090
    

    1,011,196,691
    

    1989
    

    11
    

    Kanada & Tamura
    

    HITACHI S-820/80
    

    1,073,741,799
    

    1991
    

    8
    

    Chudnovskys
    

    
    

    2,260,000,000
    

    1994
    

    5
    

    Chudnovskys
    

    
    

    4,044,000,000
    

    1995
    

    8
    

    Takahashi & Kanada
    

    HITACHI S-3800/480
    

    4,294,967,286
    

    1995
    

    10
    

    Takahashi & Kanada
    

    
    

    6,442,450,938
    

    1997
    

    7
    

    Takahashi & Kanada
    

    
    

    51,539,600,000
    

    1999
    

    4
    

    Takahashi & Kanada
    

    
    

    68,719,470,000
    

    1999
    

    9
    

    Takahashi & Kanada
    

    HITACHI SR8000
    

    206,158,430,000
    

    圆周率的最新计算纪录
    1、新世界纪录
    圆周率的最新计算纪录由两位日本人Daisuke Takahashi和Yasumasa Kanada所创造。他们在日本东京大学的IT中心,以Gauss-Legendre算法编写程序,利用一台每秒可执行一万亿次浮点运算的超级计算机,从日本时间1999年9月18日19:00:52起,计算了37小时21分04秒,得到了圆周率的206,158,430,208(3*236)位十进制精度,之后和他们于1999年6月27日以Borwein四次迭代式计算了46小时得到的结果相比,发现最后45位小数有差异,因此他们取小数点后206,158,430,000位的?值为本次计算结果。这一结果打破了他们于1999年4月创造的68,719,470,000位的世界纪录。
    2、最后20位
    圆周率小数点后206,158,430,000位的最后20位为:
    22144 96687 55157 30964
    3、 p小数点后2000亿位中各数字出现的次数:
    0 : 20000030841 1 : 19999914711
    2 : 20000136978 3 : 20000069393
    4 : 19999921691 5 : 19999917053
    6 : 19999881515 7 : 19999967594
    8 : 20000291044 9 : 19999869180
    4、一些有趣的数字序列在p小数点后出现的位置
    

    数字序列
    

    出现的位置
    

    01234567891
    

    26,852,899,245
    

    41,952,536,161
    

    99,972,955,571
    

    102,081,851,717
    

    171,257,652,369
    

    01234567890
    

    53,217,681,704
    

    148,425,641,592
    

    432109876543
    

    149,589,314,822
    

    543210987654
    

    197,954,994,289
    

    98765432109
    

    123,040,860,473
    

    133,601,569,485
    

    150,339,161,883
    

    183,859,550,237
    

    09876543210
    

    42,321,758,803
    

    57,402,068,394
    

    83,358,197,954
    

    10987654321
    

    89,634,825,550
    

    137,803,268,208
    

    152,752,201,245
    

    27182818284
    

    45,111,908,393
    

    PC机上的计算
    1、PiFast
    目前PC机上流行的最快的圆周率计算程序是PiFast。它除了计算圆周率,还可以计算e和sqrt(2)。PiFast可以利用磁盘缓存,突破物理内存的限制进行超高精度的计算,最高计算位数可达240亿位,并提供基于Fabrice Bellard公式的验算功能。
    2、 PC机上的最高计算记录
    

    最高记录
    

    12,884,901,372位
    

    时间
    

    2000年10月10日
    

    记录创造者
    

    Shigeru Kondo
    

    所用程序
    

    PiFast ver3.3
    

    机器配置
    

    Pentium III 1G, 1792M RAM,WindowsNT4.0,40GBx2(IDE,FastTrak66)
    

    计算时间
    

    1,884,375秒 (21.8天)
    

    验算时间
    

    29小时
    

    圆周率小数点后1000位
    1415926535 8979323846 2643383279 5028841971 6939937510 5820974944 5923078164 0628620899 8628034825 3421170679 8214808651 3282306647 0938446095 5058223172 5359408128 4811174502 8410270193 8521105559 6446229489 5493038196 4428810975 6659334461 2847564823 3786783165 2712019091 4564856692 3460348610 4543266482 1339360726 0249141273 7245870066 0631558817 4881520920 9628292540 9171536436 7892590360 0113305305 4882046652 1384146951 9415116094 3305727036 5759591953 0921861173 8193261179 3105118548 0744623799 6274956735 1885752724 8912279381 8301194912 9833673362 4406566430 8602139494 6395224737 1907021798 6094370277 0539217176 2931767523 8467481846 7669405132 0005681271 4526356082 7785771342 7577896091 7363717872 1468440901 2249534301 4654958537 1050792279 6892589235 4201995611 2129021960 8640344181 5981362977 4771309960 5187072113 4999999837 2978049951 0597317328 1609631859 5024459455 3469083026 4252230825 3344685035 2619311881 7101000313 7838752886 5875332083 8142061717 7669147303 5982534904 2875546873 1159562863 8823537875 9375195778 1857780532 1712268066 1300192787 6611195909 2164201989
    圆周率的探索者
    
    Archimedes (BC287 - BC212)
    
    祖冲之 (430 - 501)
    
    Ludolph van Ceulen (1540 - 1610)
    
    John Machin(1680 - 1751)
    
    Johann Heinrich Lambert (1728 - 1777)
    
    Adrien-Marie Legendre (1752 - 1833)
    
    Johann Carl Friedrich Gauss (1777 - 1855)
    
    Carl Louis Ferdinand von Lindemann (1852 - 1939)
    
    Srinivasa Ramanujan(1887 - 1920)
    
    ENIAC (1946)
    
    David & Gregory Chudnovsky
    
    David H. Bailey
    
    Jonathan M. Borwein
    
    Peter Borwein
    
    Simon Plouffe
    
    Fabrice Bellard (1973)
    
    
    Yasumasa Kanada
    
    从左至右:Eugene Salamin,Yasumasa Kanada, David H. Bailey,William Gosper (责任编辑:admin)
织梦二维码生成器
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
初中语文
初中数学
初中英语
初中物理
初中化学
初中生物
初中历史
初中地理
初中道德与法治
初中历史与社会
初中日语、俄语
学习方法
初中竞赛