50分C语言不知道错哪里

P1009 [NOIP1998 普及组] 阶乘之和

ruijie24 @ 2024-11-09 10:25:56


#include <stdio.h>
#include <limits.h>

int main() {
    int n;
    scanf("%d",&n);
    long long m=1,s=0;

    for (int i=1;i<=n;++i) {
        m*=i; // 计算i的阶乘
        if (m>LLONG_MAX) { // 检测溢出
            return 1; // 返回非零值表示错误
        }
        s+=m; // 将当前阶乘加到总和中
    }

    printf("%lld\n",s); // 输出阶乘之和,并添加换行
    return 0;
}

by LiujunjiaNC @ 2024-11-09 10:29:13

@ruijie24 溢出了


by LiujunjiaNC @ 2024-11-09 10:29:43

这题要用高精度


by InRain @ 2024-11-10 19:14:18

@ruijie24 要高精度


|