题目:
编写程序,按下列公式求圆周率,精确到最后一项绝对值小于 1e-8 π/4 =1 - 1/3 +1/5 -1/7 +... 输出格式: 首先输出满足要求时经过的计算步数(例如上例中计算到1/7经历了4步), 然后输出π的值, PI之前有一个空格和前面隔开 输出的PI值精确到小数点后5位 例如: steps=100 PI=3.14 提示:为确保计算精度,请使用double类型进行运算。 |
代码:
#include<iostream>
#include<iomanip>
using namespace std;
int main(){
int step=1;
double result=1,i=3;
while(1/i>1e-8){
step++;
if(step%2){
result+=1/i;
}
else{
result-=1/i;
}
i+=2;
}
step++;
if(step%2){
result+=1/i;
}
else{
result-=1/i;
}
cout<<"steps="<<step<<" ";
cout<<"PI="<<fixed<<setprecision(5)<<result*4;
return 0;
}