2033:【例4.19】阶乘之和
时间限制: 1000 ms 内存限制: 65536 KB
提交数: 56394 通过数: 13843
【题目描述】
输入n,计算S=1!+2!+3!+…+n!的末6位(不含前导0)。n≤106, n!表示前n个正整数之积。
【输入】
输入n。
【输出】
如题述,之和。
【输入样例】
10
【输出样例】
37913
【提示】
【数据范围】
对于所有数据,1≤n≤999999。
#include<bits/stdc++.h>
using namespace std;
int main()
{
int n,num=1,sum=0,m=1000000;
cin>>n;
for(int i=1;i<=n;i++)
{
num=num*i%m;
sum=(sum+num)%m;
}
cout<<sum;
return 0;
}