Pi的第n位数

时间:2014-06-28 14:50:28

标签: javascript pi

我一直在寻找数小时试图找到一个算法来获取JavaScript的第n个数字。

我知道我可以使用2*Math.acos(0)Math.PI获取PI,但我需要找到第n位。

如果没有硬编码的数字,如何获得PI的第n位?

1 个答案:

答案 0 :(得分:5)

假设有一些第一年的微积分,这是一种相当简单的方法。

您可以通过反复推导和理解它们的斜率来近似函数 - 然后围绕它们构建多项式,使得多项式足够好地逼近它们的行为。如果你继续这样做,只要你能得到一个叫做泰勒序列的东西。如果一个功能是"表现良好"足够 - 比如正弦函数,你可以很容易地近似它。

这是正弦函数的扩展,取自维基百科(CC维基百科)

enter image description here

你可以通过推导sin(x) n次并逼近它来得出这个结果。阅读更多on the subject here

一个有用的分析,并提出反正切函数Math.atan

enter image description here

这很有用,因为我们知道x = 1 {。}}。

所以,让我们写下Math.atan(1) = Pi/4

getPi

您执行的迭代次数越多,您获得的准确性就越高。有更快的方法来计算Pi,这只是一个需要一些的例子 - 但不是大量的数学。如上所述 - 它的工作原理是用多项式近似atan函数。

注意:由于JavaScript双精度数字有限,因此我们对更大的数字有更大的问题。我们在这个答案中忽略了这一点。