魔方吧·中文魔方俱乐部

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

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

Rank: 2

积分
323
帖子
295
精华
0
UID
90540
性别
发表于 2011-6-11 22:09:26 |显示全部楼层
手动算是非常的麻烦
如果用的是不麻烦的算法 必然误差很大
如果用的是麻烦的算法 运算过程容易出错

我有本书《说不尽的π》 大连的魔友如果想看的话 可以向我借
百度贴吧:CFOP、一日一囧的吧主

使用道具 举报

Rank: 7Rank: 7Rank: 7

积分
2520
帖子
3072
精华
7
UID
62890
性别

中国纪录 八年元老

发表于 2011-6-13 10:54:47 |显示全部楼层

回复 49# 的帖子

那么sin怎么算?
19events = 644days
PB (2 3 4 5)B = 1200seconds
北大魔方爱好者QQ群74893945
mf8最少步讨论群:RP与公式的绝佳配合QQ群5652935

使用道具 举报

Rank: 3Rank: 3

积分
742
帖子
682
精华
0
UID
72785
性别
保密
WCA ID
2009HEYO01
兴趣爱好
速度

两年元老

发表于 2011-6-13 12:18:29 |显示全部楼层
手动计算圆周率,貌似会令人抓狂。

使用道具 举报

Rank: 2

积分
282
帖子
249
精华
0
UID
1289657
性别
保密
发表于 2011-6-13 15:36:14 |显示全部楼层
原帖由 superacid 于 2011-6-13 10:54 发表
那么sin怎么算?
就是呀,三角函数手动能算不?

使用道具 举报

Rank: 4

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

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

发表于 2011-6-14 20:04:08 |显示全部楼层

回复 54# 的帖子

大概还是要用级数来计算了。
Enjoy cubing
Enjoy coding.
我喜欢的公式 U D F2 B2 U' D'

使用道具 举报

Rank: 2

积分
233
帖子
171
精华
0
UID
52839
性别
保密

四年元老

发表于 2011-6-23 17:22:19 |显示全部楼层

回复 54# 的帖子

可以。。。。不断地减半相加,由sin30算出sin15,由sin15算出sin7.5,由sin7.5算出sin3.25,后用sin7.5和sin3.25,就可算出sin10.75.
----------------------------------------------------------------------
另:
以下我自己推导的:
在n*sin(180/n)中n越大,原式的值越趋近于π

使用道具 举报

Rank: 7Rank: 7Rank: 7

积分
6156
帖子
4219
精华
3
UID
6886
性别

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

发表于 2011-6-28 21:57:54 |显示全部楼层
原帖由 aubell 于 2011-6-7 11:48 发表
这一层
发一个收敛比较快,适合手动计算的方法

试试看
pi.PNG

使用道具 举报

Rank: 4

积分
1668
帖子
988
精华
8
UID
82833
性别
保密

魔方破解专家 六年元老

发表于 2011-6-29 03:16:58 |显示全部楼层
我高三的时候算过。找了个收敛比较快的级数算的,其实pi的级数没有收敛很快的。算e就爽多了

使用道具 举报

Rank: 4

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

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

发表于 2011-6-29 22:10:30 |显示全部楼层

回复 57# 的帖子

如果过程中保留18位小数,其实只要计算60项不到就可以得到 3.14159265358979 了。
Enjoy cubing
Enjoy coding.
我喜欢的公式 U D F2 B2 U' D'

使用道具 举报

Rank: 4

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

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

发表于 2011-6-29 22:39:40 |显示全部楼层

这一层发自己写的程序

  1. use Math::BigInt;

  2. sub MY_PI{
  3. my $n=shift;
  4. my $first=Math::BigInt->new('2');
  5. my $result=Math::BigInt->new('0');
  6. my $up=1;
  7. my $down=3;
  8. my $npow= Math::BigInt->new('10'. '0' x $n);
  9. $first->bmul($npow);
  10. while($first->bcmp(0) > 0){
  11. $result ->badd($first);
  12. $first ->bmul($up++ );
  13. $first ->bdiv($down++);
  14. $down++;
  15. }
  16. return $result;
  17. }

  18. ##计算到314位,最后几位有出入
  19. print MY_PI(314);
复制代码
Enjoy cubing
Enjoy coding.
我喜欢的公式 U D F2 B2 U' D'

使用道具 举报

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

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

GMT+8, 2019-6-19 09:37

Powered by Discuz! X2

© 2001-2011 Comsenz Inc.

回顶部