要计算圆周率,可以使用方程式pi/4=1-(1/3)+(1/5)-(1/7)+... 将其乘以4,即可得到圆周率的值。 我创建了一个公式来计算每个步骤相对于它的位置1/(2n-1)的方程,并编写了代码。
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char** argv)
{
double p = 0;
double pi = 0;
int j = 1;
do
{
if (j % 2 == 1)
{
p = p + (1 / (2 * j - 1));
}
else
{
p = p - (1 / (2 * j - 1));
}
pi = p * 4;
printf("%lf\n", pi);
j++;
} while (j < 10);
return (EXIT_SUCCESS);
}
但它只输出了4.0000
。为什么?我找不到我的错误。
p = p + (1 / (2 * j - 1));
更改为p = p + (1.0 / (2 * j - 1));
。 - Amadeusz(1 / (2 * j - 1))
是整数除法。 - user2371524pi/4=1-(1/3)+(1/5)-(1/7)+...
这个公式收敛极其缓慢。这是计算pi
最糟糕的方法。 - llllllllll