描述
利用公式e = 1 + 1/1! + 1/2! + 1/3! + ... + 1/n! 求e 。
输入
输入只有一行,该行包含一个整数n(2<=n<=15),表示计算e时累加到1/n!。
输出
输出只有一行,该行包含计算出来的e的值,要求打印小数点后10位。
样例输入
10
样例输出
2.7182818011
提示
1、e以及n!用double表示
2、要输出浮点数、双精度数小数点后10位数字,可以用下面这种形式:
printf("%.10f", num);
算法:
#include <stdio.h>
#include<math.h>
double fact(double n) //阶乘函数
{
if(n==0)
return 1;
return n*fact(n-1);
}
int main()
{
int n;
scanf("%d", &n);
double sum,e=0.0;
for(int i=0;i<=n;i++)
{
sum=1.0/fact(i);
e+=sum; //计算e的值
}
printf("%.10lf\n",e);
return 0;
}