问题如下:利用公式求n的近似值,直
到最后一项的绝对值小于
10-6为止,并统计出项数
π/4 = 1-1/3+1/5...
主要是怎么求项数
之前看错了,以为你问的是C++,以下是Python的实现
def approx_pi(n):
sum = 0
i = 1
while True:
item = (-1)**(i+1) / (2*i-1)
sum += item
i += 1
if abs(item) < 10**-6 or i > n:
break
return 4*sum, i
approx, count = approx_pi(1000000)
print("近似值:", approx)
print("项数:", count)
以下是原来的回答
加上一个循环变量i
while循环每次+1即可
#include<iostream>
#include<cmath>
int main()
{
double n=1,pi=0,item=1;
int i=0;
while(fabs(item)>=1e-6)
{
pi+=item;
i++;
n+=2;
item=-item/n;
}
pi*=4;
std::cout<<"π的近似值为:"<<pi<<std::endl;
std::cout<<"共进行了"<<i<<"次计算"<<std::endl;
return 0;
}
不知道你这个问题是否已经解决, 如果还没有解决的话:答:
此处省略 n 个字。 【请各位看官拍砖】