gpt4 book ai didi

Java - 圆周率的拉马努金系列

转载 作者:行者123 更新时间:2023-12-01 13:30:26 25 4
gpt4 key购买 nike

对于我的计算机科学类(class)中的一个程序,我必须使用以下公式计算 pi 的值,我在使用 java 中的数学方程时遇到了麻烦。

这是数学公式: Formula for 1/pi

我使用的公式是:

for (int i = 0; i < k; i++) 
{
term = ((calculate(4*i)*(1103+(26390*i)))/(Math.pow(calculate(i), 4))*Math.pow(396, (4*i)));
sum += term;
}
sum *= ((2*Math.sqrt(2))/9801);
sum = Math.pow(sum, -1);

for 循环应该计算 sigma 符号及其右侧的所有内容。下一部分应该将该数字乘以 2 的平方根除以 9801,最后一部分应该将该数字取 -1 次方,因为等式得出 1/pi,这应该对分数进行倒数。

计算方法只是求一个数字的阶乘。

当我运行该程序时,最终答案正是 pi 为 1,2.1355575437204093E-13 为 2,并且它不断打印错误的数字。知道为什么这会给出错误的答案吗?

谢谢,非常感谢您的帮助!

最佳答案

您的分母括号错误:

term = (double)(calculate(4*i)*(1103+(26390*i)))/((Math.pow(calculate(i), 4))*Math.pow(396, (4*i)));

尝试使用 double 进行计算。当 k 值为 30 时,结果为 3.141592653589793

确定 PI 的值就像应用随机变量来查找确定性值一样,使用大量迭代可以提供更好的精度

关于Java - 圆周率的拉马努金系列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21600878/

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