发新话题
打印【有0个人次参与评价】

[数学] ZT 圆周率π的计算历程

ZT 圆周率π的计算历程

http://www.zww.cn/baike/html/4/406.shtml
韩雪涛 [zww.cn/CGZ]
来源:www.oursci.org 2006-3-4 21:07:58
圆周率是一个极其驰名的数。从有文字记载的历史开始,这个数就引进了外行人和学者们的兴趣。作为一个非常重要的常数,圆周率最早是出于解决有关圆的计算问题。仅凭这一点,求出它的尽量准确的近似值,就是一个极其迫切的问题了。事实也是如此,几千年来作为数学家们的奋斗目标,古今中外一代一代的数学家为此献出了自己的智慧和劳动。回顾历史,人类对 π 的认识过程,反映了数学和计算技术发展情形的一个侧面。 π 的研究,在一定程度上反映这个地区或时代的数学水平。德国数学史家康托说:"历史上一个国家所算得的圆周率的准确程度,可以作为衡量这个国家当时数学发展水平的指标。"直到19世纪初,求圆周率的值应该说是数学中的头号难题。为求得圆周率的值,人类走过了漫长而曲折的道路,它的历史是饶有趣味的。我们可以将这一计算历程分为几个阶段。.

TOP

实验时期

  通过实验对 π 值进行估算,这是计算 π 的的第一阶段。这种对 π 值的估算基本上都是以观察或实验为根据,是基于对一个圆的周长和直径的实际测量而得出的。在古代世界,实际上长期使用 π =3这个数值。最早见于文字记载的有基督教《圣经》中的章节,其上取圆周率为3。这一段描述的事大约发生在公元前950年前后。其他如巴比伦、印度、中国等也长期使用3这个粗略而简单实用的数值。在我国刘徽之前"圆径一而周三"曾广泛流传。我国第一部《周髀算经》中,就记载有圆"周三径一"这一结论。在我国,木工师傅有两句从古流传下来的口诀:叫做:"周三径一,方五斜七",意思是说,直径为1的圆,周长大约是3,边长为5的正方形,对角线之长约为7。这正反映了早期人们对圆周率 π 和√2 这两个无理数的粗略估计。东汉时期官方还明文规定圆周率取3为计算面积的标准。后人称之为"古率"。

  早期的人们还使用了其它的粗糙方法。如古埃及、古希腊人曾用谷粒摆在圆形上,以数粒数与方形对比的方法取得数值。或用匀重木板锯成圆形和方形以秤量对比取值……由此,得到圆周率的稍好些的值。如古埃及人应用了约四千年的 4 (8/9)2 = 3.1605。在印度,公元前六世纪,曾取 π= √10 = 3.162。在我国东、西汉之交,新朝王莽令刘歆制造量的容器――律嘉量斛。刘歆在制造标准容器的过程中就需要用到圆周率的值。为此,他大约也是通过做实验,得到一些关于圆周率的并不划一的近似值。现在根据铭文推算,其计算值分别取为3.1547,3.1992,3.1498,3.2031比径一周三的古率已有所进步。人类的这种探索的结果,当主要估计圆田面积时,对生产没有太大影响,但以此来制造器皿或其它计算就不合适了。.

TOP

几何法时期

  凭直观推测或实物度量,来计算 π 值的实验方法所得到的结果是相当粗略的。

  真正使圆周率计算建立在科学的基础上,首先应归功于阿基米德。他是科学地研究这一常数的第一个人,是他首先提出了一种能够借助数学过程而不是通过测量的、能够把 π 的值精确到任意精度的方法。由此,开创了圆周率计算的第二阶段。



圆周长大于内接正四边形而小于外切正四边形,因此 2√2 < π < 4 。
当然,这是一个差劲透顶的例子。据说阿基米德用到了正96边形才算出他的值域。

  阿基米德求圆周率的更精确近似值的方法,体现在他的一篇论文《圆的测定》之中。在这一书中,阿基米德第一次创用上、下界来确定 π 的近似值,他用几何方法证明了"圆周长与圆直径之比小于 3+(1/7) 而大于 3 + (10/71) ",他还提供了误差的估计。重要的是,这种方法从理论上而言,能够求得圆周率的更准确的值。到公元150年左右,希腊天文学家托勒密得出 π =3.1416,取得了自阿基米德以来的巨大进步。




割圆术。不断地利用勾股定理,来计算正N边形的边长。

  在我国,首先是由数学家刘徽得出较精确的圆周率。公元263年前后,刘徽提出著名的割圆术,得出 π =3.14,通常称为"徽率",他指出这是不足近似值。虽然他提出割圆术的时间比阿基米德晚一些,但其方法确有着较阿基米德方法更美妙之处。割圆术仅用内接正多边形就确定出了圆周率的上、下界,比阿基米德用内接同时又用外切正多边形简捷得多。另外,有人认为在割圆术中刘徽提供了一种绝妙的精加工办法,以致于他将割到192边形的几个粗糙的近似值通过简单的加权平均,竟然获得具有4位有效数字的圆周率 π =3927/1250 =3.1416。而这一结果,正如刘徽本人指出的,如果通过割圆计算得出这个结果,需要割到3072边形。这种精加工方法的效果是奇妙的。这一神奇的精加工技术是割圆术中最为精彩的部分,令人遗憾的是,由于人们对它缺乏理解而被长期埋没了。

  恐怕大家更加熟悉的是祖冲之所做出的贡献吧。对此,《隋书·律历志》有如下记载:"宋末,南徐州从事祖冲之更开密法。以圆径一亿为丈,圆周盈数三丈一尺四寸一分五厘九毫二秒七忽,朒数三丈一尺四寸一分五厘九毫二秒六忽,正数在盈朒二限之间。密率:圆径一百一十三,圆周三百五十五。约率,圆径七,周二十二。"

  这一记录指出,祖冲之关于圆周率的两大贡献。其一是求得圆周率

    3.1415926 < π < 3.1415927

  其二是,得到 π 的两个近似分数即:约率为22/7;密率为355/113。

  他算出的 π 的8位可靠数字,不但在当时是最精密的圆周率,而且保持世界记录九百多年。以致于有数学史家提议将这一结果命名为"祖率"。

  这一结果是如何获得的呢?追根溯源,正是基于对刘徽割圆术的继承与发展,祖冲之才能得到这一非凡的成果。因而当我们称颂祖冲之的功绩时,不要忘记他的成就的取得是因为他站在数学伟人刘徽的肩膀上的缘故。后人曾推算若要单纯地通过计算圆内接多边形边长的话,得到这一结果,需要算到圆内接正12288边形,才能得到这样精确度的值。祖冲之是否还使用了其它的巧妙办法来简化计算呢?这已经不得而知,因为记载其研究成果的著作《缀术》早已失传了。这在中国数学发展史上是一件极令人痛惜的事。




中国发行的祖冲之纪念邮票

  祖冲之的这一研究成果享有世界声誉:巴黎"发现宫"科学博物馆的墙壁上著文介绍了祖冲之求得的圆周率,莫斯科大学礼堂的走廊上镶嵌有祖冲之的大理石塑像,月球上有以祖冲之命名的环形山……

  对于祖冲之的关于圆周率的第二点贡献,即他选用两个简单的分数尤其是用密率来近似地表示 π 这一点,通常人们不会太注意。然而,实际上,后者在数学上有更重要的意义。

  密率与 π 的近似程度很好,但形式上却很简单,并且很优美,只用到了数字1、3、5。数学史家梁宗巨教授验证出:分母小于16604的一切分数中,没有比密率更接近 π 的分数。在国外,祖冲之死后一千多年,西方人才获得这一结果。

  可见,密率的提出是一件很不简单的事情。人们自然要追究他是采用什么办法得到这一结果的呢?他是用什么办法把圆周率从小数表示的近似值化为近似分数的呢?这一问题历来为数学史家所关注。由于文献的失传,祖冲之的求法已不为人知。后人对此进行了各种猜测。

  让我们先看看国外历史上的工作,希望能够提供出一些信息。

  1573年,德国人奥托得出这一结果。他是用阿基米德成果22/7与托勒密的结果377/120用类似于加成法"合成"的:(377-22) / (120-7) = 355/113。

  1585年,荷兰人安托尼兹用阿基米德的方法先求得:333/106 < π < 377/120,用两者作为 π 的母近似值,分子、分母各取平均,通过加成法获得结果:3 ((15+17)/(106+120) = 355/113。

  两个虽都得出了祖冲之密率,但使用方法都为偶合,无理由可言。

  在日本,十七世纪关孝和重要著作《括要算法》卷四中求圆周率时创立零约术,其实质就是用加成法来求近似分数的方法。他以3、4作为母近似值,连续加成六次得到祖冲之约率,加成一百十二次得到密率。其学生对这种按部就班的笨办法作了改进,提出从相邻的不足、过剩近似值就近加成的办法,(实际上就是我们前面已经提到的加成法)这样从3、4出发,六次加成到约率,第七次出现25/8,就近与其紧邻的22/7加成,得47/15,依次类推,只要加成23次就得到密率。

  钱宗琮先生在《中国算学史》(1931年)中提出祖冲之采用了我们前面提到的由何承天首创的"调日法"或称加权加成法。他设想了祖冲之求密率的过程:以徽率157/50,约率22/7为母近似值,并计算加成权数x=9,于是 (157 + 22×,9) / (50+7×9) = 355/113,一举得到密率。钱先生说:"冲之在承天后,用其术以造密率,亦意中事耳。"

  另一种推测是:使用连分数法。

  由于求二自然数的最大公约数的更相减损术远在《九章算术》成书时代已流行,所以借助这一工具求近似分数应该是比较自然的。于是有人提出祖冲之可能是在求得盈 二数之后,再使用这个工具,将3.14159265表示成连分数,得到其渐近分数:3,22/7,333/106,355/113,102573/32650…

  最后,取精确度很高但分子分母都较小的355/113作为圆周率的近似值。至于上面圆周率渐近分数的具体求法,这里略掉了。你不妨利用我们前面介绍的方法自己求求看。英国李约瑟博士持这一观点。他在《中国科学技术史》卷三第19章几何编中论祖冲之的密率说:"密率的分数是一个连分数渐近数,因此是一个非凡的成就。"

  我国再回过头来看一下国外所取得的成果。

  1150年,印度数学家婆什迦罗第二计算出 π= 3927/1250 = 3.1416。1424年,中亚细亚地区的天文学家、数学家卡西著《圆周论》,计算了3×228=805,306,368边内接与外切正多边形的周长,求出 π 值,他的结果是:

   π=3.14159265358979325

  有十七位准确数字。这是国外第一次打破祖冲之的记录。

  16世纪的法国数学家韦达利用阿基米德的方法计算 π 近似值,用 6×216正边形,推算出精确到9位小数的 π 值。他所采用的仍然是阿基米德的方法,但韦达却拥有比阿基米德更先进的工具:十进位置制。17世纪初,德国人鲁道夫用了几乎一生的时间钻研这个问题。他也将新的十进制与早的阿基米德方法结合起来,但他不是从正六边形开始并将其边数翻番的,他是从正方形开始的,一直推导出了有262条边的正多边形,约4,610,000,000,000,000,000边形!这样,算出小数35位。为了记念他的这一非凡成果,在德国圆周率 π 被称为"鲁道夫数"。但是,用几何方法求其值,计算量很大,这样算下去,穷数学家一生也改进不了多少。到鲁道夫可以说已经登峰造极,古典方法已引导数学家们走得很远,再向前推进,必须在方法上有所突破。

  17世纪出现了数学分析,这锐利的工具使得许多初等数学束手无策的问题迎刃而解。 π 的计算历史也随之进入了一个新的阶段。.

TOP

分析法时期

  这一时期人们开始摆脱求多边形周长的繁难计算,利用无穷级数或无穷连乘积来算 π 。

  1593年,韦达给出


  这一不寻常的公式是 π 的最早分析表达式。甚至在今天,这个公式的优美也会令我们赞叹不已。它表明仅仅借助数字2,通过一系列的加、乘、除和开平方就可算出 π 值。
  接着有多种表达式出现。如沃利斯1650年给出:


  1706年,梅钦建立了一个重要的公式,现以他的名字命名:


  再利用分析中的级数展开,他算到小数后100位。

  这样的方法远比可怜的鲁道夫用大半生时间才抠出的35位小数的方法简便得多。显然,级数方法宣告了古典方法的过时。此后,对于圆周率的计算像马拉松式竞赛,纪录一个接着一个:

  1844年,达塞利用公式:


  算到200位。

  19世纪以后,类似的公式不断涌现, π 的位数也迅速增长。1873年,谢克斯利用梅钦的一系列方法,级数公式将 π 算到小数后707位。为了得到这项空前的纪录,他花费了二十年的时间。他死后,人们将这凝聚着他毕生心血的数值,铭刻在他的墓碑上,以颂扬他顽强的意志和坚韧不拔的毅力。于是在他的墓碑上留下了他一生心血的结晶: π 的小数点后707位数值。这一惊人的结果成为此后74年的标准。此后半个世纪,人们对他的计算结果深信不疑,或者说即便怀疑也没有办法来检查它是否正确。以致于在1937年巴黎博览会发现馆的天井里,依然显赫地刻着他求出的 π 值。

  又过了若干年,数学家弗格森对他的计算结果产生了怀疑,其疑问基于如下猜想:在 π 的数值中,尽管各数字排列没有规律可循,但是各数码出现的机会应该相同。当他对谢克斯的结果进行统计时,发现各数字出现次数过于参差不齐。于是怀疑有误。他使用了当时所能找到的最先进的计算工具,从1944年5月到1945年5月,算了整整一年。1946年,弗格森发现第528位是错的(应为4,误为5)。谢克斯的值中足足有一百多位全都报了销,这把可怜的谢克斯和他的十五年浪费了的光阴全部一笔勾销了。

  对此,有人曾嘲笑他说:数学史在记录了诸如阿基米德、费马等人的著作之余,也将会挤出那么一、二行的篇幅来记述1873年前谢克斯曾把 π 计算到小数707位这件事。这样,他也许会觉得自己的生命没有虚度。如果确实是这样的话,他的目的达到了。

  人们对这些在地球的各个角落里作出不懈努力的人感到不可理解,这可能是正常的。但是,对此做出的嘲笑却是过于残忍了。人的能力是不同的,我们无法要求每个人都成为费马、高斯那样的人物。但成为不了伟大的数学家,并不意味着我们就不能为这个社会做出自己有限的贡献。人各有其长,作为一个精力充沛的计算者,谢克斯愿意献出一生的大部分时光从事这项工作而别无报酬,并最终为世上的知识宝库添了一小块砖加了一个块瓦。对此我们不应为他的不懈努力而感染并从中得到一些启发与教育吗?

  1948年1月弗格森和伦奇两人共同发表有808位正确小数的 π 。这是人工计算 π 的最高记录。.

TOP

计算机时期

  1946年,世界第一台计算机ENIAC制造成功,标志着人类历史迈入了电脑时代。电脑的出现导致了计算方面的根本革命。1949年,ENIAC根据梅钦公式计算到2035(一说是2037)位小数,包括准备和整理时间在内仅用了70小时。计算机的发展一日千里,其记录也就被频频打破。



ENIAC:一个时代的开始

  1973年,有人就把圆周率算到了小数点后100万位,并将结果印成一本二百页厚的书,可谓世界上最枯燥无味的书了。1989年突破10亿大关,1995年10月超过64亿位。1999年9月30日,《文摘报》报道,日本东京大学教授金田康正已求到2061.5843亿位的小数值。如果将这些数字打印在A4大小的复印纸上,令每页印2万位数字,那么,这些纸摞起来将高达五六百米。来自最新的报道:金田康正利用一台超级计算机,计算出圆周率小数点后一兆二千四百一十一亿位数,改写了他本人两年前创造的纪录。据悉,金田教授与日立制作所的员工合作,利用目前计算能力居世界第二十六位的超级计算机,使用新的计算方法,耗时四百多个小时,才计算出新的数位,比他一九九九年九月计算出的小数点后二千六百一十一位提高了六倍。圆周率小数点后第一兆位数是二,第一兆二千四百一十一亿位数为五。如果一秒钟读一位数,大约四万年后才能读完。

  不过,现在打破记录,不管推进到多少位,也不会令人感到特别的惊奇了。实际上,把 π 的数值算得过分精确,应用意义并不大。现代科技领域使用的 π 值,有十几位已经足够。如果用鲁道夫的35位小数的 π 值计算一个能把太阳系包围起来的圆的周长,误差还不到质子直径的百万分之一。我们还可以引美国天文学家西蒙·纽克姆的话来说明这种计算的实用价值:

  "十位小数就足以使地球周界准确到一英寸以内,三十位小数便能使整个可见宇宙的四周准确到连最强大的显微镜都不能分辨的一个量。"

  那么为什么数学家们还象登山运动员那样,奋力向上攀登,一直求下去而不是停止对 π 的探索呢?为什么其小数值有如此的魅力呢?

  这其中大概免不了有人类的好奇心与领先于人的心态作怪,但除此之外,还有许多其它原因。


奔腾与圆周率之间的奇妙关系……

  1、它现在可以被人们用来测试或检验超级计算机的各项性能,特别是运算速度与计算过程的稳定性。这对计算机本身的改进至关重要。就在几年前,当Intel公司推出奔腾(Pentium)时,发现它有一点小问题,这问题正是通过运行 π 的计算而找到的。这正是超高精度的 π 计算直到今天仍然有重要意义的原因之一。

  2、 计算的方法和思路可以引发新的概念和思想。虽然计算机的计算速度超出任何人的想象,但毕竟还需要由数学家去编制程序,指导计算机正确运算。实际上,确切地说,当我们把 π 的计算历史划分出一个电子计算机时期时,这并非意味着计算方法上的改进,而只是计算工具有了一个大飞跃而已。因而如何改进计算技术,研究出更好的计算公式,使公式收敛得更快、能极快地达到较大的精确度仍是数学家们面对的一个重要课题。在这方面,本世纪印度天才数学家拉马努扬得出了一些很好的结果。他发现了许多能够迅速而精确地计算 π 近似值的公式。他的见解开通了更有效地计算 π 近似值的思路。现在计算机计算 π 值的公式就是由他得到的。至于这位极富传奇色彩的数学家的故事,在这本小书中我们不想多做介绍了。不过,我希望大家能够明白 π 的故事讲述的是人类的胜利,而不是机器的胜利。

  3、还有一个关于 π 的计算的问题是:我们能否无限地继续算下去?答案是:不行!根据朱达偌夫斯基的估计,我们最多算1077位。虽然,现在我们离这一极限还相差很远很远,但这毕竟是一个界限。为了不受这一界限的约束,就需要从计算理论上有新的突破。前面我们所提到的计算,不管用什么公式都必须从头算起,一旦前面的某一位出错,后面的数值完全没有意义。还记得令人遗憾的谢克斯吗?他就是历史上最惨痛的教训。

  4、于是,有人想能否计算时不从头开始,而是从半截开始呢?这一根本性的想法就是寻找并行算法公式。1996年,圆周率的并行算法公式终于找到,但这是一个16进位的公式,这样很容易得出的1000亿位的数值,只不过是16进位的。是否有10进位的并行计算公式,仍是未来数学的一大难题。

  5、作为一个无穷数列,数学家感兴趣的把 π 展开到上亿位,能够提供充足的数据来验证人们所提出的某些理论问题,可以发现许多迷人的性质。如,在 π 的十进展开中,10个数字,哪些比较稀,哪些比较密? π 的数字展开中某些数字出现的频率会比另一些高吗?或许它们并非完全随意?这样的想法并非是无聊之举。只有那些思想敏锐的人才会问这种貌似简单,许多人司空见惯但却不屑发问的问题。

  6、数学家弗格森最早有过这种猜想:在 π 的数值式中各数码出现的概率相同。正是他的这个猜想为发现和纠正向克斯计算 π 值的错误立下了汗马功劳。然而,猜想并不等于现实。弗格森想验证它,却无能为力。后人也想验证它,也是苦于已知的 π 值的位数太少。甚至当位数太少时,人们有理由对猜想的正确性做出怀疑。如,数字0的出现机会在开始时就非常少。前50位中只有1个0,第一次出现在32位上。可是,这种现象随着数据的增多,很快就改变了:100位以内有8个0;200位以内有19个0;……1000万位以内有999,440个0;……60亿位以内有599,963,005个0,几乎占1/10。

  其他数字又如何呢?结果显示,每一个都差不多是1/10,有的多一点,有的少一点。虽然有些偏差,但都在1/10000之内。

  7、人们还想知道: π 的数字展开真的没有一定的模式吗?我们希望能够在十进制展开式中通过研究数字的统计分布,寻找任何可能的模型――如果存在这种模型的话,迄今为止尚未发现有这种模型。同时我们还想了解: π 的展开式中含有无穷的样式变化吗?或者说,是否任何形式的数字排列都会出现呢?著名数学家希尔伯特在没有发表的笔记本中曾提出下面的问题: π 的十进展开中是否有10个9连在一起?以现在算到的60亿位数字来看,已经出现:连续6个9连在一起。希尔伯特的问题答案似乎应该是肯定的,看来任何数字的排列都应该出现,只是什么时候出现而已。但这还需要更多 π 的数位的计算才能提供切实的证据。

  8、在这方面,还有如下的统计结果:在60亿数字中已出现连在一起的8个8;9个7;10个6;小数点后第710150位与3204765位开始,均连续出现了七个3;小数点52638位起连续出现了14142135这八个数字,这恰是的前八位;小数点后第2747956位起,出现了有趣的数列876543210,遗憾的是前面缺个9;还有更有趣的数列123456789也出现了。

  如果继续算下去,看来各种类型的数字列组合可能都会出现。.

TOP

拾零: π 的其它计算方法

  在1777年出版的《或然性算术实验》一书中,蒲丰提出了用实验方法计算 π 。这个实验方法的操作很简单:找一根粗细均匀,长度为 d 的细针,并在一张白纸上画上一组间距为 l 的平行线(方便起见,常取 l = d/2),然后一次又一次地将小针任意投掷在白纸上。这样反复地投多次,数数针与任意平行线相交的次数,于是就可以得到 π 的近似值。因为蒲丰本人证明了针与任意平行线相交的概率为 p = 2l/πd 。利用这一公式,可以用概率方法得到圆周率的近似值。在一次实验中,他选取 l = d/2 ,然后投针2212次,其中针与平行线相交704次,这样求得圆周率的近似值为 2212/704 = 3.142。当实验中投的次数相当多时,就可以得到 π 的更精确的值。

  1850年,一位叫沃尔夫的人在投掷5000多次后,得到 π 的近似值为3.1596。目前宣称用这种方法得到最好结果的是意大利人拉兹瑞尼。在1901年,他重复这项实验,作了3408次投针,求得 π 的近似值为3.1415929,这个结果是如此准确,以致于很多人怀疑其实验的真伪。如美国犹他州奥格登的国立韦伯大学的L·巴杰就对此提出过有力的质疑。

  不过,蒲丰实验的重要性并非是为了求得比其它方法更精确的 π 值。蒲丰投针问题的重要性在于它是第一个用几何形式表达概率问题的例子。计算 π 的这一方法,不但因其新颖,奇妙而让人叫绝,而且它开创了使用随机数处理确定性数学问题的先河,是用偶然性方法去解决确定性计算的前导。

  在用概率方法计算 π 值中还要提到的是:R·查特在1904年发现,两个随意写出的数中,互素的概率为6/π2。1995年4月英国《自然》杂志刊登文章,介绍英国伯明翰市阿斯顿大学计算机科学与应用数学系的罗伯特·马修斯,如何利用夜空中亮星的分布来计算圆周率。马修斯从100颗最亮的星星中随意选取一对又一对进行分析,计算它们位置之间的角距。他检查了100万对因子,据此求得 π 的值约为3.12772。这个值与真值相对误差不超过5%。


  通过几何、微积分、概率等广泛的范围和渠道发现 π ,这充分显示了数学方法的奇异美。 π 竟然与这么些表面看来风马牛不相及的试验,沟通在一起,这的确使人惊讶不已。

XUJUNNAN于2005-5-24 摘抄的 π值:
3.141592653589793238462643383279502884197169399375105820979445923078164062862089986280348253421170679821480865132823067647093844609550582231725359408128481117450284102701938521109555964462294895493038196442881097566593344612847564823378678316527120190914564856692346034861045432664821339360726024914127372458700660631558817488152092096282925409171536436789259036001133053054882046652138414695194151160943305727036575959195309218611738193261179310511854807446237996274956735188575272489122793818301194912983367336244065664308602139494639522473719070217986094370277053921717629317675238467481846766940513200056812714526356082778577134275778960917363717872146844090122495343014654958537105079227968925892354201995611212902196086403441815981362977477130996051870721134998372978049951059731732816096318595024459455346908302642522308253344685035261931188171010003137838752886587533208381420617177669147303598253490428755468731159562863882353782016673156423156323187423187323128423128323658323.

TOP

引用:
原帖由 ccpaging 于 2011-8-24 11:20 发表 \"\"
  1946年,世界第一台计算机ENIAC制造成功,标志着人类历史迈入了电脑时代。电脑的出现导致了计算方面的根本革命。1949年,ENIAC根据梅钦公式计算到2035(一说是2037)位小数,包括准备和整理时间在内仅用了70小时 ...
"3、还有一个关于 π 的计算的问题是:我们能否无限地继续算下去?答案是:不行!根据朱达偌夫斯基的估计,我们最多算1077位。"
怎么最多算1077位? 是否应该是10的77次方?.

TOP

回复 7楼aochuanhui 的帖子

http://tieba.baidu.com/f?kz=57097916

我们需要精度多高的pi? 十位小数就足以使地球周界准确到一英寸以内,三十位小数便能使整个可见宇宙的四周准确到连最强大的显微镜都不能分辨的一个量。如果用35位小数的pi计算一个能把太阳系包围起来的圆的周长,误差还不到质子直径的百万分之一。 pi当中的统计: 在60亿数字中已出现连在一起的8个8;9个7;10个6;小数点后第710150位与3204765位开始,均连续出现了七个3;小数点后第2747956位起,出现了有趣的数列876543210;还有更有趣的数列123456789也出现了。

pi能无限计算下去吗? 根据朱达诺夫斯基的估计,我们最多算1077位。 pi当中数字的分布: 数学家弗格森最早有过这种猜想:在 π 的数值式中各数码出现的概率相同。正是他的这个猜想为发现和纠正向克斯计算 π 值的错误立下了汗马功劳。然而,猜想并不等于现实。弗格森想验证它,却无能为力。后人也想验证它,也是苦于已知的 π 值的位数太少。但实际结果显示,每一个数字出现的概率都差不多是1/10,有的多一点,有的少一点。虽然有些偏差,但都在1/10000之内。

搞怪的pi计算方法: 蒲丰提出了用实验方法计算 π 。这个实验方法的操作很简单:找一根粗细均匀,长度为 d 的细针,并在一张白纸上画上一组间距为 l 的平行线(方便起见,常取 l = d/2),然后一次又一次地将小针任意投掷在白纸上。这样反复地投多次,数数针与任意平行线相交的次数,于是就可以得到 π 的近似值。因为蒲丰本人证明了针与任意平行线相交的概率为 p = 2l/πd 。利用这一公式,可以用概率方法得到圆周率的近似值。在一次实验中,他选取 l = d/2 ,然后投针2212次,其中针与平行线相交704次,这样求得圆周率的近似值为 2212/704 = 3.142。当实验中投的次数相当多时,就可以得到 π 的更精确的值。

在用概率方法计算 π 值中还要提到的是:R·查特在1904年发现,两个随意写出的数中,互素的概率为6/π2。 英国伯明翰市阿斯顿大学计算机科学与应用数学系的罗伯特·马修斯利用夜空中亮星的分布来计算圆周率。马修斯从100颗最亮的星星中随意选取一对又一对进行分析,计算它们位置之间的角距。他检查了100万对因子,据此求得 π 的值约为3.12772。这个值与真值相对误差不超过5%。 我认为最美的pi计算公式:(附图) 韦达提出的公式,里面只有数字2和开方乘除加,就搞定了pi~~

一个足以让你吐血的计算400位pi的C程序:
int a=10000, z, c=2800, d, e, f[2801], g;
main()
{
  for(; z-c; f[z++]=a/5); for(; d=0,g=c*2; c -=14,printf("%.4d",e+d/a),e=d%a) for(z=c; d+=f[z]*a,f[z]=d%--g,d/=g--,--z; d*=z);
}
理论上只要用大数算法扩了就能一直算下去。我在Palm上面实现的那个就是基于这个算法,没有扩,算到4680位(受到Palm平台32k数组的长度限制)。

这个程序的特点是:你抱着想看看算pi原理的希望来读这个程序,结果发现就是看了也还是看不懂

[ 本帖最后由 ccpaging 于 2011-8-24 13:15 编辑 ].

TOP

发新话题