【题目描述】
利用公式e=1+11!+12!+13!+...+1n!𝑒=1+11!+12!+13!+...+1𝑛! ,求e𝑒的值,要求保留小数点后1010位。
【输入】
输入只有一行,该行包含一个整数n(2≤n≤15)𝑛(2≤𝑛≤15),表示计算e𝑒时累加到1n!1𝑛!。
【输出】
输出只有一行,该行包含计算出来的e的值,要求打印小数点后1010位。
【输入样例】
10
【输出样例】
2.7182818011
这道题,我们只需先求出1到n的阶乘再用1除以他们再相加就可以了。
代码如下
#include<bits/stdc++.h>
using namespace std;
int n;
double e=1.0;
int main(){
cin>>n;
for(int i=1;i<=n;i++)
{
long long tmp=1;
for(int j=1;j<=i;j++)
{
tmp=tmp*j;
}
e=e+1.0/tmp;
}
cout<<fixed<<setprecision(10)<<e;
return 0;
}