计算序列部分和 4∗(1−1/3+1/5−1/7+…) ,直到最后一项的绝对值小于给定精度eps。
输入格式
输入在一行中给出一个正实数eps。
输出格式
在一行中按照“Pi = pi”的格式输出部分和的值pi,精确到小数点后四位。题目保证输入数据和计算结果均不超过双精度范围。
输入样例1:
0.0001
输出样例1:
Pi = 3.1418
输入样例2
0.2
输出样例2
Pi = 2.8952
参考代码
#include <iostream>
using namespace std;
double fun(double eps){
double pi=0,i=1,sign=1;
do{ // do while 控制首项等于或大于eps时
pi=pi+sign/i;
i+=2;
sign=sign*(-1.0);
}while(1/(i-2)>=eps);
return pi;
}
int main() {
double eps;
cin >> eps;
printf("Pi = %.4lf",4*fun(eps));
return 0;
}