问题解决:
e,是一个无理数,是一个数学常数(类似于π),是自然对数函数的底数。有时称它为欧拉数(Euler number),其计算公式如下:
请小盆友们编写一个程序,从键盘读取k(k越大越精确),计算e的近似值(保留10位小数)
(e ≈ 2.71828 18284 59045 23536 02874 71352 66249 77572 47093 69995 95749 66967 62772 40766 30353 54759 45713 82178 52516 64274。)
输入格式:
大于5的正整数k(k<13,即int能保存k!)。
输出格式:
e的近似值(保留10位小数)
由于要求保留的位数比较多,请定义变量e时用double。
输入样例:
6
输出样例:
2.7180555556
#include<stdio.h>
int fact(int n)
{
int i,ret=1;
for(i=1;i<=n;i++)
{
ret*=i;
}
return ret;
}
int main()
{
double e;
int k,n;
scanf("%d",&k);
fact(n);
for(n=0;n<=k;n++)
{
e+=1.0/fact(n);
}
printf("%.10f",e);
return 0;
}