魔方吧·中文魔方俱乐部

 找回密码
 注册
搜索
热搜: 魔方
楼主: aubell

有人尝试过手动计算圆周率pi吗? [复制链接]

Rank: 8Rank: 8

积分
7046
帖子
3540
精华
4
UID
6158
性别
居住地
广州市
WCA ID
2011XIEJ01
兴趣爱好
收藏

收藏爱好者 论坛建设奖 爱心大使 十年元老

发表于 2011-6-6 23:04:29 |显示全部楼层
我们大学的时候 只是背了100位,再多也没意义了!

十分佩服祖冲之!割圆法 求到第七位,佩服得不行了!

近似算法:113/355   超好记!


补充:

圆周率的计算方法
  古人计算圆周率,一般是用割圆法。即用圆的内接或外切正多边形来逼近圆的周长。阿基米德用正96边形得到圆周率小数点后3位的精度;刘徽用正3072边形得到5位精度;鲁道夫用正262边形得到了35位精度。这种基于几何的算法计算量大,速度慢,吃力不讨好。随着数学的发展,数学家们在进行数学研究时有意无意地发现了许多计算圆周率的公式。下面挑选一些经典的常用公式加以介绍。除了这些经典公式外,还有很多其它公式和由这些经典公式衍生出来的公式,就不一一列举了。
1、马青公式
       π=16arctan1/5-4arctan1/239
  这个公式由英国天文学教授约翰·马青于1706年发现。他利用这个公式计算到了100位的圆周率。马青公式每计算一项可以得到1.4位的十进制精度。因为它的计算过程中被乘数和被除数都不大于长整数,所以可以很容易地在计算机上编程实现。
  还有很多类似于马青公式的反正切公式。在所有这些公式中,马青公式似乎是最快的了。虽然如此,如果要计算更多的位数,比如几千万位,马青公式就力不从心了。下面介绍的算法,在PC机上计算大约一天时间,就可以得到圆周率的过亿位的精度。这些算法用程序实现起来比较复杂。因为计算过程中涉及两个大数的乘除运算,要用FFT(Fast Fourier Transform)算法。FFT可以将两个大数的乘除运算时间由O(n2)缩短为O(nlog(n))。
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位。这为圆周率的分布式计算提供了可行性。1997年,白劳德找到了一个比BBP快40%的公式。
已有 1 人评分经验 收起 理由
露天粮仓 + 5 谢谢分享

总评分: 经验 + 5   查看全部评分

喜爱收藏魔方&研究解法……推广魔方活动可联系13332874198

谢老师微博

使用道具 举报

Rank: 4

积分
1808
帖子
1033
精华
6
UID
17579
性别
保密

魔方理论探索者 论坛建设奖 六年元老

发表于 2011-6-6 23:26:21 |显示全部楼层
手动算,个人觉得这个公式很好:
PI/4= arc tan(1/2) + arc tan(1/5) +arc tan(1/8)
用级数展开。速度可以接受。

arc tan(1/2) + arc tan(1/3) 的大概也可以用,没有尝试。

千万不要用 arc tan(1) 的展开式,因为计算几百项才前进一点点。
会抓狂的。

马青公式里面的239用手除起来很手疼,但前进应该很快。
Enjoy cubing
Enjoy coding.
我喜欢的公式 U D F2 B2 U' D'

使用道具 举报

Rank: 4

积分
1808
帖子
1033
精华
6
UID
17579
性别
保密

魔方理论探索者 论坛建设奖 六年元老

发表于 2011-6-6 23:29:23 |显示全部楼层
有人打算再现割圆术吗?直接手动算到7位?
Enjoy cubing
Enjoy coding.
我喜欢的公式 U D F2 B2 U' D'

使用道具 举报

Rank: 7Rank: 7Rank: 7

积分
3503
帖子
2290
精华
1
UID
18891
性别
保密

六年元老

发表于 2011-6-7 01:10:06 |显示全部楼层
哎,数学不好的路过。
弱弱的问一句。圆周率是一个确定的数吗?
拿起你的魔方,我们就是朋友了!
你准备好了吗?

使用道具 举报

红魔

华容道游戏爱好者

Rank: 4

积分
1699
帖子
1069
精华
3
UID
76004
性别

智力游戏设计大师 六年元老

发表于 2011-6-7 06:10:14 |显示全部楼层
曾经手算过密率的循环节,计算圆周率这种浩大的工程还未敢尝试

使用道具 举报

Rank: 2

积分
268
帖子
216
精华
0
UID
1300759
性别
保密
发表于 2011-6-7 07:01:30 |显示全部楼层
2楼手动你怎么算的

使用道具 举报

Rank: 2

积分
303
帖子
298
精华
0
UID
1277677
性别

两年元老

发表于 2011-6-7 08:06:14 |显示全部楼层
我只会用周长除以直径。。。

使用道具 举报

Rank: 1

积分
116
帖子
87
精华
0
UID
1244025
性别
发表于 2011-6-7 08:49:57 |显示全部楼层
圆上取点,做拉格朗日插值,取积分。谁去试试?

使用道具 举报

Rank: 4

积分
1808
帖子
1033
精华
6
UID
17579
性别
保密

魔方理论探索者 论坛建设奖 六年元老

发表于 2011-6-7 11:47:25 |显示全部楼层

回复 18# 的帖子

现代数学工具那么多,就算用手动,也方便很多。
可以选择的公式多如牛毛。
用插值已经不算是纯粹的古典割圆术了,不过也是很难算的啊!
Enjoy cubing
Enjoy coding.
我喜欢的公式 U D F2 B2 U' D'

使用道具 举报

Rank: 4

积分
1808
帖子
1033
精华
6
UID
17579
性别
保密

魔方理论探索者 论坛建设奖 六年元老

发表于 2011-6-7 11:48:55 |显示全部楼层
这一层
发一个收敛比较快,适合手动计算的方法
PI的计算.JPG
Enjoy cubing
Enjoy coding.
我喜欢的公式 U D F2 B2 U' D'

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

Archiver|手机版|魔方吧·中文魔方俱乐部

GMT+8, 2019-3-23 00:11

Powered by Discuz! X2

© 2001-2011 Comsenz Inc.

回顶部