阶乘之和(取结果的模)

2019-04-14 16:22发布

#include #include #include int main() { int n,i,j; int x=0; int f; scanf("%d",&n); for(i=1;i<=n;i++) { f=1; for(j=1;j<=i;j++) f*=j; x+=f; } printf("%d",x%1000000); return 0; }
100
-961703
Process returned 0 (0x0) execution time : 1.560 s
Press any key to continue.
冒了 改进办法: #include #include #include int main() { const int mod=1000000; int n,i,j; int x=0; int f; scanf("%d",&n); for(i=1;i<=n;i++) { f=1; for(j=1;j<=i;j++) f=f*j%mod; x=(x+f)%mod; } printf("%d",x%1000000); return 0; } 对于只有乘法 除法和加法的运算 可以对每一步都取模