1079: 求1-1/3+1/5-1/7+...
Description
输入一个正整数 repeat (0<repeat<10),做repeat 次下列运算:
读入 1 个正实数eps,计算并输出1-1/3+1/5-1/7+⋯⋯,直到最后一项的绝对值小于eps(保留6 位小数,不包括最后一项)。
Input
见sample
Output
见sample
Sample Input
11E-4
Sample Output
0.785348
#include <iostream>
#include <cstdio>
#include <cstring>
#include <string>
#include <cmath>
using namespace std;
int main()
{
double sum,eps;
int n,repeat,flag=0;
scanf("%d",&repeat);
while(repeat--){
scanf("%le",&eps);
sum=0;
n=1;
while(1){
if(1.0/n<eps)
break;
if(flag%2)
sum-=1.0/n;
else
sum+=1.0/n;
flag++;
n+=2;
}
printf("%.6lf\n",sum);
}
return 0;
}