输入n,计算S=1!+2!+3!+…+n!=1!+2!+3!+…+n!的末6位(不含前导0)。n≤10^6, n!表示前n个正整数之积。
输入:
输入n。
输出:
如题述,之和。
代码:
#include<stdio.h>
int main() {
int n;
scanf("%d", &n);
int s=1;
int c=0;
for (int i = 1; i <= n; i++) {
s *= i;
s = s % 1000000;
c += s;
}
printf("%d", c%1000000);
return 0;
}
#include<stdio.h>
#define M 1000000
int main() {
int n;
scanf("%d", &n);
int s=1;
int c=0;
for (int i = 1; i <= n; i++) {
s = s * i % M;
c = (c + s) % M;
}
printf("%d", c);
return 0;
}