【题目描述】
输入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>
using namespace std;
#define M 1000000
int main()
{
int n, num = 1, sum = 0;
cin >> n;
for(int i = 1; i <= n; ++i)
{
num = num * i % M;
sum = (sum + num) % M;
}
cout << sum;
return 0;
}