2701: 【例28.2】 求出e的值

内存限制:64 MB 时间限制:1.000 S
评测方式:文本比较 命题人:
提交:84 解决:61

题目描述

利用公式 $e=1+\frac{1}{1!}+\frac{1}{2!}+\frac{1}{3!}+...+\frac{1}{n!}$, 求 $e$。

提示,$n!=1×2×...×n$。

输入

输入只有一行,该行包含一个整数$n$($2≤n≤15$)。

输出

输出只有一行,该行包含计算出来的$e$的值,要求打印小数点后 $10$ 位。

样例输入 复制

10

样例输出 复制

2.7182818011

提示

自然常数 e 是一个重要的数学常数,约等于 2.71828,是指数增长和微积分中的核心数值。

定义与数值

自然常数 e(又称欧拉数)是一个无限不循环小数,其数值约为 2.71828,同时它是无理数和超越数,即不能表示为有理数,也不是任何代数方程的根(林德曼-魏尔斯特拉斯定理证明) Baidu。在数学中,e 常用作自然对数的底数,记作 ln(x) 的底。

#include<bits/stdc++.h>
using namespace std;
int n;
int main(){
    cin>>n;
    double e=1,jc=1;
    for(int i=1;i<=n;i++){
        jc*=i;
        e=e+1/jc;
    }
    printf("%.10lf",e);
    return 0;
}


#include<bits/stdc++.h>
using namespace std;
int n;
int main(){
    cin>>n;
    double e=1,jc=1;
    for(int i=1;i<=n;i++){
        jc*=i;
        e=e+1/jc;
    }
    cout<<fixed<<setprecision(10)<<e;
    return 0;
}