π/4=1-1/3+1/5-1/7+…
根据这个表达式,我们可以从数学角度来思考,这里的每一项可以构成一个数列。
也就是一分之一+负的三分之一+五分之一+负的七分之一
不难发现每一项的分母是2n-1,然后偶数项为负,奇数项为正
具体操作如下:
double j = 0;
for (double n = 1; (2 * n) - 1 <= pow(10 * 1.0, 6); n++)
{
j = j + pow(-1 * 1.0, (n + 1))*(1 / ((2 * n) - 1));
}
printf("π的近似值是%f\n", 4 * j);
这里的(2 * n) - 1 <= pow(10 * 1.0, 6)是用来确定精度。