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