2033:【例4.19】阶乘之和
时间限制: 1000 ms 内存限制: 65536 KB
提交数: 42193 通过数: 10141
【题目描述】
输入nn,计算S=1!+2!+3!+…+n!S=1!+2!+3!+…+n!的末66位(不含前导0)。n≤106n≤106, n!n!表示前nn个正整数之积。
【输入】
输入nn。
【输出】
如题述,之和。
【输入样例】
10
【输出样例】
37913
【提示】
【数据范围】
对于所有数据,1≤n≤9999991≤n≤999999。
【代码】
#include<bits/stdc++.h>
#define N 1000000
int f[N]={0,1};
int main()
{
int i,j,n,s=0;
scanf("%d",&n);
for(i=2;i<=n;i++)
{
f[i]=f[i-1]*i;
f[i]%=N;
}
for(i=1;i<=n;i++)
{
s=s+f[i];
s%=N;
}
printf("%d\n",s);
return 0;
}
如有错误,望指教!
版权声明:本文为bbbb8989原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。