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 要高精度