求出 e 的值
题目描述
利用公式 e = 1 + 1 / 1 ! + 1 / 2 ! + 1 / 3 ! + ⋯ + 1 / n ! e=1+1/1!+1/2!+1/3!+ \cdots +1/n! e=1+1/1!+1/2!+1/3!+⋯+1/n!,求 e e e 的值,要求保留小数点后 10 10 10 位。
输入格式
输入只有一行,该行包含一个整数 n n n,表示计算 e e e 时累加到 1 / n ! 1/n! 1/n!。
输出格式
输出只有一行,该行包含计算出来的 e e e 的值,要求打印小数点后 10 10 10 位。
样例 #1
样例输入 #1
10
样例输出 #1
2.7182818011
提示
2
≤
n
≤
15
2 \le n \le 15
2≤n≤15。
code:
#include<iostream>
#include<iomanip>
#include<cmath>
using namespace std;
int main()
{
int n;
cin>>n;
double sum=0;
//双层循环,一个循环个数,一个循环阶乘
for(int i=0;i<=n;i++)
{
//mul的值每次要重置
double mul=1;
//求阶乘
for(int j=1;j<=i;j++)
{
mul*=j;
}
sum+=1.0/mul;
}
cout<<fixed<<setprecision(10)<<sum<<endl;
return 0;
}
code: