C++;采用莱布尼兹公式的Pi近似 我是C++初学者,编码本身,所以请原谅任何词汇灾难。我在互联网上找不到这个具体的问题,但我仍然很难得到我需要的结果
所以我用莱布尼兹公式来近似π,它是: pi=4·[1-1/3+1/5-1/7+1/9…+(-1^n)/(2n+1)] 我已经写了一篇文章,但困扰我的代码的主要部分是:C++;采用莱布尼兹公式的Pi近似 我是C++初学者,编码本身,所以请原谅任何词汇灾难。我在互联网上找不到这个具体的问题,但我仍然很难得到我需要的结果,c++,for-loop,approximation,C++,For Loop,Approximation,所以我用莱布尼兹公式来近似π,它是: pi=4·[1-1/3+1/5-1/7+1/9…+(-1^n)/(2n+1)] 我已经写了一篇文章,但困扰我的代码的主要部分是: if (terms > 0){ double partial = 0; for (i = 0; i < terms; i++) if (i % 2 == 0) partial -= (pow(-1,terms))/((2.0 *
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";
}
if(术语>0){
双偏=0;
对于(i=0;i 你可以用if/else来确定符号,但是你也可以用pow(-1,terms)
。我只想去掉pow
,用1
替换它,因为你已经在做部分+=
和部分-=
,这取决于I
是奇数还是偶数。另外,我认为你的+=
和-=
应该是另一种方式。你有一个if/else来确定符号,但是你也可以做pow(-1,术语)
。我只想去掉pow
,用1
替换它,因为你已经在做partial+=
和partial-=
,这取决于I
是奇数还是偶数。另外,我认为你的+=
和-=
应该是另一种方式。试试这个:
if (terms > 0){
double partial = 0;
for (i = 0; i <= terms; i++)
partial += pow(-1,i)/(2.0 * i + 1);
double newPi = 4 * partial;
cout << "The approximation is " << newPi << " using " << terms << " terms.\n";
}
if(术语>0){
双偏=0;
对于(i=0;i试试这个:
if (terms > 0){
double partial = 0;
for (i = 0; i <= terms; i++)
partial += pow(-1,i)/(2.0 * i + 1);
double newPi = 4 * partial;
cout << "The approximation is " << newPi << " using " << terms << " terms.\n";
}
if(术语>0){
双偏=0;
对于(i=0;i