本题要求编写程序,利用e=1+1!1+2!1+3!1+...+n!1计算e的近似值,直到最后一项的绝对值小于eps时为止,输出e的值并统计累加的项数。
输入格式:
键盘输入精度eps。
输出格式:
e=S,count=N,S为eps精度下的多项式的和,结果保留小数点后三位,N为累加的项数。
输入样例:
0.0001
输出样例:
e=2.718,count=9
#include <stdio.h>
#include <math.h>
int main() {
int i,c=0;
double eps, s=1.0,n=1.0,m;
scanf("%lf", &eps);
for (i=1;;i++) {
n*=i;
m=1.0/n;
c++;
if (fabs(m)<eps){
s+=m;
c++;
break;
}
s+=m;
}
printf("e=%.3lf,count=%d\n",s,c);
return 0;
}