#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; }