圆周率π现在已经算到多少位了?具体是什么数字?

來源:互聯網  2009-08-12 07:01:36  評論

分類: 人文學科

問題描述:

3.1415926后面是多少?

參考答案:

3.1415926535897932384626

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

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

Machin.c 源程序 还有很多类似于Machin公式的反正切公式。在所有这些公式中,Machin公式似乎是最快的了。虽然如此,如果要计算更多的位数,比如几千万位,Machin公式就力不从心了。下面介绍的算法,在PC机上计算大约一天时间,就可以得到圆周率的过亿位的精度。这些算法用程序实现起来比较复杂。因为计算过程中涉及两个大数的乘除运算,要用FFT(Fast Fourier Transform)算法。FFT可以将两个大数的乘除运算时间由O(n2)缩短为O(nlog(n))。

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公式的另一个更方便于计算机编程的形式是:AGM(Arithmetic-Geometric Mean)算法 Gauss-Legendre公式: 初值:重复计算: 最后计算: 这个公式每迭代一次将得到双倍的十进制精度,比如要计算100万位,迭代20次就够了。1999年9月Takahashi和Kanada用这个算法计算到了圆周率的206,158,430,000位,创出新的世界纪录。 Borwein四次迭代式: 初值:重复计算: 最后计算:这个公式由Jonathan Borwein和Peter Borwein于1985年发表,它四次收敛于圆周率。

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

[b]分类:[/b] 人文学科[br][b]问题描述:[/b][br]3.1415926后面是多少?[br][b]参考答案:[/b][br]3.1415926535897932384626

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

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

Machin.c 源程序 还有很多类似于Machin公式的反正切公式。在所有这些公式中,Machin公式似乎是最快的了。虽然如此,如果要计算更多的位数,比如几千万位,Machin公式就力不从心了。下面介绍的算法,在PC机上计算大约一天时间,就可以得到圆周率的过亿位的精度。这些算法用程序实现起来比较复杂。因为计算过程中涉及两个大数的乘除运算,要用FFT(Fast Fourier Transform)算法。FFT可以将两个大数的乘除运算时间由O(n2)缩短为O(nlog(n))。

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公式的另一个更方便于计算机编程的形式是:AGM(Arithmetic-Geometric Mean)算法 Gauss-Legendre公式: 初值:重复计算: 最后计算: 这个公式每迭代一次将得到双倍的十进制精度,比如要计算100万位,迭代20次就够了。1999年9月Takahashi和Kanada用这个算法计算到了圆周率的206,158,430,000位,创出新的世界纪录。 Borwein四次迭代式: 初值:重复计算: 最后计算:这个公式由Jonathan Borwein和Peter Borwein于1985年发表,它四次收敛于圆周率。

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

python用bbp公式计算圆周率_圆周率π现在已经算到多少位了?具体是什么数字?...相关推荐

  1. python用bbp公式计算圆周率_利用BBP公式来计算Pi圆周率的PHP代码

    <?php /** * 圆周率计算(BBP) * @author Moyo * @url http://moyo.uuland.org/code/php-pi-calc/ * @version ...

  2. python中用BBP公式计算π

    N=input("请输入N的值:") #输入一个尽可能大的值使加和结果更精确 pi=0 #定义pi for k in range(int(N)): #int将字符串转化为数字类型p ...

  3. python用bbp公式求圆周率_神奇的BBP公式,可独立计算圆周率任何一位数字,曾震惊数学界!...

    今天,我们来看一个神奇的关于圆周率的公式. 一千多年来,数学家们采用各种办法,来求圆周率的更高精度,比如我国伟大的数学家祖冲之(429-500,字文远),就曾利用复杂的割圆术,将圆周率精确到小数点第七 ...

  4. 中用BBP公式计算_【真课堂】7年级信息技术:数据计算

    教师介绍: 汪小红,一级教师,滨江区科技节scratch项目优秀指导教师,曾获杭州市信息技术优质课二等奖. [教材分析] 数据计算是数据处理过程中的一个重要步骤,数据计算能对数据进行归纳和提炼.学生已 ...

  5. 中用BBP公式计算_散户如何计算庄家的持仓量和持仓成本?

    计算庄家的持仓量和持仓成本,可以帮助散户判断庄家目前的坐庄过程处于何种阶段.如果庄家处于建仓阶段,散户就应该找机会跟进:如果庄家处于出货阶段,散户就应该赶快抛出手中筹码. 一:计算庄家持仓量 在股市交 ...

  6. C# BBP公式计算π

    BBP公式可以直接计算出小数点后d位的数,不依赖第d位之前的数字,计算结果为16进制. BBP公式 : 核心公式 π=∑k=0∞{116k(48k−1−28k+4−18k+5−18k+6)}(1)\p ...

  7. python编写程序公式计算s_python pandas库和stats库计算偏度和峰度(附程序)

    pandas库 样本方差无偏估计: \(\frac{1}{n-1}\sum_{i=1}^{n}\left(x_i-\bar{x}\right)^2\) 偏度无偏估计: \(g_1=\frac{k_3} ...

  8. python编写程序公式计算s_PYTHON程序设计实验2

    安徽工程大学 Python程序设计 实验报告 班级  物流191   姓名邹缕学号3190505117 成绩 日期     2020.3.22      指导老师修宇 实验二 顺序结构程序设计(验证性 ...

  9. python科学计算主要学什么_以下哪些是python常用的科学计算库?_学小易找答案

    [单选题]17-51. 在 Windows 中,若要终止未响应的应用程序,可使用( ) [单选题]19-55.在 Windows控制面板中,下列无法实现的操作是 [单选题]witness的元素属性(比 ...

最新文章

  1. JDBC连接为什么要释放资源---------示意图
  2. MYSQL免安装版-安装配置过程
  3. 10个CSS和jQuery的加载中(loading)动画效果实现
  4. Java中sleep,wait,yield,join的区别
  5. 5gh掌上云计算认证不通过_【众志成城战疫情】法官助理告诉你“移动微法院”、“掌上法庭”有多便捷、有多硬核~!...
  6. MST(最小生成树)的构造
  7. indesign中调出字符样式快捷键_Word中十大黄金快捷键,你会用几个?
  8. 搭建springboot环境
  9. C语言 strcpy函数实现
  10. 基于motion的视频压缩的实时监控系统
  11. PHP DeepL翻译API
  12. mp4安装Linux,linux centos mp4box 安装教程
  13. 惠普打印机服务器状态未知,惠普打印机状态显示需要注意
  14. 多智时代,人工智能发展历史的时间表
  15. 还不了解外贸流程?这一篇就够了(小声bb)
  16. ArcGIS 把字段允许空值设为否
  17. 刺激战场春节版年兽全网最详细位置,另附刺激战场更新内容
  18. 论文笔记:Intention Oriented Image Captions with Guiding Objects
  19. setoolkit克隆网站并抓取账号密码
  20. 关于融云聊天室KV 值的正确使用

热门文章

  1. 淘气网(一个仿淘宝的购物网站)
  2. MICCAI 2019 Proceeding 论文集part1-6
  3. 如何做一个基于JAVA房产中介预约看房系统毕业设计毕设作品(springboot框架)
  4. 2019最新微信墙微信上墙微信弹幕婚庆会议大屏幕3D签到抽奖摇一摇微信上墙
  5. 抛弃Visio,遇上效率作图工具Edraw亿图图示
  6. linux与window双引导U盘启动
  7. 从《道德经》看项目经理修炼的7条法则,你做到了几条?
  8. 一文速学数模-降维模型(一)PCA(主成分分析法)原理以及应用+代码实现
  9. 花里胡哨的天气插件代码生成
  10. 生活小剧场30天吸粉44w,小红书最受欢迎的笔记长这样