gpt4 book ai didi

java - For 循环由于某种原因不会添加术语

转载 作者:行者123 更新时间:2023-12-02 06:39:59 24 4
gpt4 key购买 nike

因此,我尝试使用具有用户定义精度的级数创建数学常数 π,以测试我对 for 循环的了解:

public double pi(int accuracy) {
for (int i = 1; i <= accuracy; i++) {
rawPi += 1 / (i * i);
}
return Math.sqrt(rawPi * 6);
}

现在,您可能会认为随着 int precision 的提高,这会越来越接近 π,但事实并非如此。它只是停留在 6 的平方根,这意味着 private double rawPi 达到 1 并且永远不会更高,这意味着我的系列中没有添加任何项(表示为 for 循环)并且我有完全不知道问题是什么。有什么想法吗?

最佳答案

尝试改变这一点:

    rawPi += 1 / (i * i);

    rawPi += 1.0 / (i * i);

或者正如“Patricia Shanahan”所评论的,使用它可以提高准确性并避免 i*i 上的整数溢出:

1/((double)i*i) 

关于java - For 循环由于某种原因不会添加术语,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19237568/

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