35:求出e的值
描述
利用公式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 <cstdio>
#include <math.h>
#include <cstdlib>
#include <iostream>
#include <iomanip>
#include <cmath>
using namespace std;
#define maxa 10000
int main()
{
int n;
double num=1,d,e=1;//从1开始的,所以e初始为1.
cin>>n;
for(int i=1;i<=n;i++){//循环语句
num=num*i;//计算阶乘
d=1/(num);//计算每次循环的数值
e=e+d;//累加
}
printf("%.10lf",e);
return 0;
}