84 求级数的和
作者: Turbo时间限制: 1S章节: 循环
问题描述 :
计算以下级数的和:
直到最后一项的绝对值小于10-6(该项不包括在结果中)。
输入说明 :
输入一个实数,代表x。
输出说明 :
输出结果,保留六位小数。整个输出无多余空格。
输入范例 :
2.5
输出范例 :
1.917914
#include<stdio.h>
#define threshold 0.000001
int main(){
double sum=1.0,p,t,x;
int i=0,j;
scanf("%lf",&x);
while(++i){
p=1.0;
t=1.0;
for(j=1;j<=i;j++){
t*=j;
p*=x;
}
if(p/t<=threshold){
break;
}
if(i%2==0){
sum-=p/t;
}else{
sum+=p/t;
}
}
printf("%.6f\n",sum);
return 0;
}