输入
输入xx以及eps的值
输出
输出该公式最后的结果(保留6位小数)
样例
标准输入复制文本 |
1 1 |
标准输出复制文本 |
0.875000 |
提示
循环并判断最后一项绝对值是否小于eps
解题思路:
找规律: 1、先是 -1/2,1/2 *3/4 -1/2 * 3/4 *5/6 可知为每轮前都乘一个负号,然后每轮再新乘 (i)/(i+1),且下一轮开始前 i+=2;
2、每轮都要新乘(x的i+2次方)/(i+3)
#include <bits/stdc++.h>
int main ()
{//准备工作
int x;
double eps,sum,next,c=1,i=1;
scanf("%d %lf",&x,&eps);
sum=x;
do
{ //规律
c=(-1)*abs(c)*(i/(i+1));
next=c*pow(x,i+2)/(i+3);
sum+=next;
i+=2;
} while(fabs(next)>=eps);
printf("%.6lf",sum);
return 0;
}