本题要求编写程序,计算序列部分和 4∗(1−1/3+1/5−1/7+...) ,直到最后一项的绝对值小于给定精度eps
。
输入格式:
输入在一行中给出一个正实数eps
。
输出格式:
在一行中按照“Pi = pi
”的格式输出部分和的值pi
,精确到小数点后四位。题目保证输入数据和计算结果均不超过双精度范围。
输入样例1:
0.0001
输出样例1:
Pi = 3.1418
#include<iostream>
#include<cmath>
#include<iomanip>
using namespace std;
int main()
{
double a; cin >> a;
double n=1;
double b = 1;
double c=1;
int d = 1;
for(int i=1;true;i++)
{
if (abs(b) < a)
{
break;
}
c = c + 2;
if (i % 2 != 0)
{
d = -d;
}
b = 1.0 * d / c;
n = n + b;
if (i % 2 != 0)
{
d = -d;
}
}
cout << "Pi = "<<setprecision(4)<<fixed<<4 * n << endl;
return 0;
}