求出e的值(信息学奥赛一本通-1092)
【题目描述】
利用公式e=1+1/1!+1/2!+1/3!+...+1/n! ,求e的值,要求保留小数点后10位。
【输入】
输入只有一行,该行包含一个整数n(2≤n≤15),表示计算e时累加到1/n!。
【输出】
输出只有一行,该行包含计算出来的e的值,要求打印小数点后10位。
【输入样例】
10
【输出样例】
2.7182818011
【题解代码】
#include<bits/stdc++.h>
using namespace std;
int main()
{
int n; cin >> n;
double ans = 1, m = 1;
for (int i = 1; i <= n; i++)
{
m *= i;
ans += 1 / m;
}
printf("%.10f", ans);
return 0;
}