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;
}
posted @ 2021-07-14 09:41  Jijidawang  阅读(15)  评论(0编辑  收藏  举报  来源