问题标题: 酷町堂:1022

0
0
已解决
高舒豪
高舒豪
中级光能
中级光能

1022   查表e的值经验值:1200

题目描述 Description

利用公式e = 1 + 1/1! + 1/2! + 1/3! + … + 1/n! 求e 的值。

输入描述 Input Description

输入只有一行,该行包含一个整数n(2<=n<=15),表示计算e时累加到1/n!。

输出描述 Output Description

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

样例输入 Sample Input

8

样例输出 Sample Output

2.7182787698

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

​

就是输出不了小数点后面的数啊!


0
已采纳
张展嘉
张展嘉
新手天翼
新手天翼

1除以整形还是整形(e+=1/jc这个地方)

张展嘉在2021-03-30 13:13:27追加了内容

long long n=0,m=0,s=1;

    double a;

cin>>n;

for(int i=1;i<=n;i++){

s*=i;

a+=1.0/s ;

}

printf("%.10f",1.0+a);

我要回答