王朝知道
分享
 
 
 

圆周率饿算法?

王朝知道·作者佚名  2009-06-05  
宽屏版  字体: |||超大  
 
分类: 教育/学业/考试 >> 学习帮助
 
参考答案:

圆周率的计算方法

古人计算圆周率,一般是用割圆法。即用圆的内接或外切正多边形来逼近圆的周长。Archimedes用正96边形得到圆周率小数点后3位的精度;刘徽用正3072边形得到5位精度;Ludolph Van Ceulen用正262边形得到了35位精度。这种基于几何的算法计算量大,速度慢,吃力不讨好。随着数学的发展,数学家们在进行数学研究时有意无意地发现了许多计算圆周率的公式。下面挑选一些经典的常用公式加以介绍。除了这些经典公式外,还有很多其他公式和由这些经典公式衍生出来的公式,就不一一列举了。

这个公式由英国天文学教授John Machin于1706年发现。他利用这个公式计算到了100位的圆周率。Machin公式每计算一项可以得到1.4位的十进制精度。因为它的计算过程中被乘数和被除数都不大于长整数,所以可以很容易地在计算机上编程实现。

Machin.c 源程序

还有很多类似于Machin公式的反正切公式。在所有这些公式中,Machin公式似乎是最快的了。虽然如此,如果要计算更多的位数,比如几千万位,Machin公式就力不从心了。下面介绍的算法,在PC机上计算大约一天时间,就可以得到圆周率的过亿位的精度。这些算法用程序实现起来比较复杂。因为计算过程中涉及两个大数的乘除运算,要用FFT(Fast Fourier Transform)算法。FFT可以将两个大数的乘除运算时间由O(n2)缩短为O(nlog(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的一切分数中,没有比密率更接近 π 的分数。在国外,祖冲之死后一千多年,西方人才获得这一结果。

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

参考资料:

小贴士:① 若网友所发内容与教科书相悖,请以教科书为准;② 若网友所发内容与科学常识、官方权威机构相悖,请以后者为准;③ 若网友所发内容不正确或者违背公序良俗,右下举报/纠错。
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
如何用java替换看不见的字符比如零宽空格​十六进制U+200B
 干货   2023-09-10
网页字号不能单数吗,网页字体大小为什么一般都是偶数
 干货   2023-09-06
java.lang.ArrayIndexOutOfBoundsException: 4096
 干货   2023-09-06
Noto Sans CJK SC字体下载地址
 干货   2023-08-30
window.navigator和navigator的区别是什么?
 干货   2023-08-23
js获取referer、useragent、浏览器语言
 干货   2023-08-23
oscache遇到404时会不会缓存?
 干货   2023-08-23
linux下用rm -rf *删除大量文件太慢怎么解决?
 干货   2023-08-08
刀郎新歌破世界纪录!
 娱乐   2023-08-01
js实现放大缩小页面
 干货   2023-07-31
生成式人工智能服务管理暂行办法
 百态   2023-07-31
英语学习:过去完成时The Past Perfect Tense举例说明
 干货   2023-07-31
Mysql常用sql命令语句整理
 干货   2023-07-30
科学家复活了46000年前的虫子
 探索   2023-07-29
英语学习:过去进行时The Past Continuous Tense举例说明
 干货   2023-07-28
meta name="applicable-device"告知页面适合哪种终端设备:PC端、移动端还是自适应
 干货   2023-07-28
只用css如何实现打字机特效?
 百态   2023-07-15
css怎么实现上下滚动
 干货   2023-06-28
canvas怎么画一个三角形?
 干货   2023-06-28
canvas怎么画一个椭圆形?
 干货   2023-06-28
canvas怎么画一个圆形?
 干货   2023-06-28
canvas怎么画一个正方形?
 干货   2023-06-28
中国河南省郑州市金水区蜘蛛爬虫ip大全
 干货   2023-06-22
javascript简易动态时间代码
 干货   2023-06-20
感谢员工的付出和激励的话怎么说?
 干货   2023-06-18
 
>>返回首页<<
 
 
 
静静地坐在废墟上,四周的荒凉一望无际,忽然觉得,凄凉也很美
© 2005- 王朝网络 版权所有