题目:
输入n,计算S=1!+2!+3!+…+n!的末六位(不含前导0)。
n<=106,n!表示前n个正整数之积。
样例输入:
10
样例输出:
37913
分析:
- 计算S=1!+2!+3!+…+n!(阶乘和)
- 取S的末六位(求模运算)
#includeusing namespace std; int main() { int n; long long S=0; long long temp = 1; cin >> n; for (int i = 1; i <= n; i++) { //计算阶乘 for (int j = 1; j <= i; j++) { temp *=j; } //阶乘求和 S += temp; //不要忘记这一步 temp = 1; } int a = S % 1000000; cout << a << endl; return 0; }



