gpt4 book ai didi

javascript - Pi的第n位

转载 作者:搜寻专家 更新时间:2023-11-01 04:08:58 25 4
gpt4 key购买 nike

我花了好几个小时试图找到一种算法来为 JavaScript 获取圆周率的第 n 位。

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

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

最佳答案

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

您可以通过反复推导函数并了解它们的斜率来近似函数 - 然后围绕它们构建多项式,使多项式能够很好地近似它们的行为。如果你一直这样做,只要你能得到一个叫做他们的泰勒序列的东西。如果一个函数足够“表现良好”——例如正弦函数,您可以很容易地对其进行近似。

这里是正弦函数的展开,摘自维基百科(CC wikipedia)

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:

function getPi(){
var sum = 0;
for(var n = 0; n < 100000000; n++){
var mult = (n%2 === 0) ? 1 : -1; // -1^n
sum += mult * (1 / (2*n+1));
}
return sum * 4; // to get pi
}
getPi(); // 3.141592643589326

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

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

关于javascript - Pi的第n位,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24467983/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com