有人能解释一下sample里面pi.rb是怎么回事么

有人能解释一下sample里面pi.rb是怎么回事么

这段算pi的代码太强了.....自己运行看看就知道
ruby\samples\php?name=Ruby" onclick="tagshow(event)" class="t_tag">RubySrc-1.8.6-p111\sample\pi.rb

算法很诡异,查了很多资料也不知道是怎么回事

[Copy to clipboard] [ - ]
解释不了,下面这个网页可能对你有用.

http://www.cs.utsa.edu/~wagner/pi/pi_cont.html
看代码貌似是一个无限循环,做什么用的呢?]
看了楼上的我知道是算pi
引用:
原帖由 5swords 于 2008-4-25 16:28 发表
解释不了,下面这个网页可能对你有用.

http://www.cs.utsa.edu/~wagner/pi/pi_cont.html
化简
1. k = 2

4/PI = 1 + 1/(3+k**2/(2*k+1))
=>
PI = (12*(2*k+1) + 4*k**2) / (4*(2*k+1) + 1*k**2)
=>
四个系数: a1 = 12, a = 4, b1 = 4, b = 1

2. k2 = 3
在1式的基础上设 x = (k2**2 / (2*k2+1))
PI = (a1*(2*k+1+x) + a*k**2) / (b1*(2*k+1+x) + b*k**2)
=>
PI = ((a1*(2*k+1)+a*k**2)*(2*k2+1) + a1*k2**2)) / ((b1*(2*k+1)+b*k**2)*(2*k2+1) + b1*k2**2))
=>
四个系数: a2 = (a1*(2*k+1)+a*k**2), a = a1, b2 = (b1*(2*k+1)+b*k**2), b = b1