自然常数 e 可以用级数 1+1/1!+1/2!+⋯+1/n!+⋯ 来近似计算。本题要求对给定的非负整数 n,求该级数的前 n+1 项和。

输入格式:

输入第一行中给出非负整数 n(≤1000)。

输出格式:

在一行中输出部分和的值,保留小数点后八位。

输入样例:

10

输出样例:

2.71828180

提交:

#include <stdio.h>

double facter (int n){//用double类型接收,题目要求n<=1000算出的阶乘超出int范围
    if (n == 1) return 1;
    return facter(n-1) * n;
}

int main() {
    int n;
    double sum = 1.0;
    scanf("%d",&n);
    for (int i=1;i<=n;i++) {
        sum += 1.0/facter(i);
    }
    printf("%.8lf",sum);
    return 0;
}