gpt4 book ai didi

使用莱布尼茨公式的 C++ Pi 近似

转载 作者:行者123 更新时间:2023-11-30 01:42:11 29 4
gpt4 key购买 nike

我是 C++ 和编码本身的初学者,所以请原谅任何词汇错误。我找不到这个具体问题,但在互联网上找到了类似的问题,但我仍然很难获得我需要的结果。

所以我使用莱布尼茨公式来近似 pi,即:

pi = 4 · [ 1 – 1/3 + 1/5 – 1/7 + 1/9 … + (–1 ^ n)/(2n + 1) ]。

我写了一个compilable and runnable program ,但困扰我的代码的主要部分是:

if (terms > 0){

double partial = 0;

for (i = 0; i < terms; i++)
if (i % 2 == 0)
partial -= (pow(-1,terms))/((2.0 * i) + 1);
else
partial += (pow(-1,terms))/((2.0 * i) + 1);

double newPi = 4 * partial;

cout << "The approximation is " << newPi << " using " << terms << " terms.\n";

}

如果项 = 3,则近似值 = 2.895

如果项 = 10,则近似值 = 3.232

如果项 = 50,则近似值 = 3.161

我没有得到任何这些数字。不过我注意到,当我输入奇数时,我得到负数,反之亦然。我在我的程序中编写的所有内容都是我迄今为止在类里面学到的所有内容,因此我不能真正超出我编写的范围。任何帮助或解释将不胜感激。

最佳答案

您有一个 if/else 来确定符号,但是您还执行了 pow(-1, terms)。我只想摆脱 pow 并将其替换为 1,因为您已经在执行 partial +=partial -= 取决于 i 是奇数还是偶数。另外,我认为你的 +=-= 应该是相反的。

关于使用莱布尼茨公式的 C++ Pi 近似,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39987538/

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