圆周率计算的几点体会

pai(10000)_B,pai(10000)_C系列的基本算法与评价

pai(10000)_B    (Euler's Fomula)
参考书目: 计算机程序设计经典题解/杨克昌.——北京:清华大学出版社,2007.12
公式原理: pai/2  = 1 + 1/(1*3) + (1*2)/(1*3*5) + (1*2*3)/(1*3*5*7) + …… +(n!)/(1*3*5*……*(2*n+1))
   = 1 + (1/3)(1 + (2/5)(1 + …… +((n-1)/(2*n-1))(1 + (n/(2*n+1)))……))
误差分析: 第n项后Rn<an,an<10^(-x-1)
  只要x+1 < lg3+lg(5/2)+……+lg((2*n+1)/n)
无限位计算: 每位数存一个int。
评价:  较好,依据位数控制精确度。原书示例输出500位毫无问题,但是当要输出的位数再增大,要计算的位数飞速上升,如我编制输出10000位的程序,如果计算30000   位,则输出中后200位左右就开始出错了。总之,收敛较快,但是还不是最理想。

pai(10000)_C (Machin's Fomula)
参考书目: 程序算法与技巧精选/郭继展,郭勇,苏辉.——北京:机械工业出版社,2008.4
公式及原理: arctg(x)=x-(x^3)/3+(x^5)/5-(x^7)/7+……
  pai=16*arctg(1/5)-4*arctg(1/239)
  (5*5=25,2

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值