1092:求出e的值

题目链接:点击这里

int 占 4 字节 32 位:

  • INT_MAX = 2^{31}-1 = 2147483647
  • INT_MIN = -2^{31}=-2147483648

15 的阶乘为 1307674368000,超出 int 的表示范围!

#include<iostream>
#include<cstdio>

using namespace std;

int main()
{
    int n;
    scanf("%d", &n);
    
    double e = 1.0;
    for(int i = 1; i <= n; i++)
    {
        long long fac = 1;               // 求i! 
        for(int j = 1; j <= i; j++)
            fac *= j;
        e += 1.0 / fac;                 // 累加1/i! 
    }
    
    printf("%.10f\n", e);
    return 0;
}
#include<iostream>
#include<cstdio>

using namespace std;

int main()
{
    int n;
    scanf("%d", &n);
    
    double e = 1.0;
    long long fac = 1;
    for(int i = 1; i <= n; i++)
    {
        fac *= i;                   // 求i!
        e += 1.0 / fac;             // 累加1/i! 
    }
    
    printf("%.10f\n", e);
    return 0;
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容