B2079 求出 e 的值
思路
纯模拟,令 $i$ 从 $1$ 到 $n$ 赋值,累加 $\dfrac{1}{i!}$。
注意公式开始时是 $1+...$,
所以 $e$ 的初始值要设成 $1$ 。
要注意浮点数的转换和保留小数。
代码
#include <iostream>
#include <cstdio>
using namespace std;
double e = 1, n, t; //e开始时有一个1
double f(int i) //求i!
{
double t = 1;
for(int j = 1;j <= i;++j)
t *= j;
return t;
}
int main()
{
cin >> n;
for(int i = 1;i <= n;++i)
e += 1 / f(i); //累加1/i!
printf("%.10lf", e);
return 0;
}