2013-10-31 89 views
3

看来每个我能找到的算法都是无限的系列。计算机如何计算PI以确定某个确定性?

就拿了楚德诺夫斯基算法:

http://i.stack.imgur.com/vlGl6.png

正如你所看到的,计算PI的第k个数字,我必须要经过无穷级数。但是,计算机具有有限数量的处理能力。那么如何编写一个可以计算PI到任意小数位(k)小数位的程序?

+2

这种类型的无限和收敛答案,所以你可以保持迭代,并获得更多和更精确的结果。 – Ryan

+2

您无法在有限的时间内计算无限个小数位数s。但你不需要。如果你知道你想要k个小数位,你只需要计算足够的项,这样未计算的项就小于第k个小数位。 –

+0

(换句话说,[像他一样](http://stackoverflow.com/users/922184/mysticial)) – Ryan

回答

6

无限序列中的每一项都对前一次迭代估计的pi值有一个小的改进。也就是说,pi的估计值收敛于实际值。只要(k)是一个有限数,就可以计算无限级数的连续项,直到pi的估计值的第一个(k)数位是稳定的(它们在连续迭代时不会改变)。

+0

有道理。我只需要至少两次迭代,其中数字相同以得出它们是稳定的,对吧? – user2939787

+0

@ user2939787对于绝大多数融合系列,是的。 – Mysticial