阶乘之和的尾数
**
解法一
**
#include <bits/stdc++.h>
using namespace std;
int main() {
long long int sum1 = 0, temp_sum = 1;
int n;
cin >> n;
for(int i=1; i<=n; i++) {
temp_sum = 1;
for(int j=1; j<=i; j++) {
temp_sum = temp_sum * j;
}
sum1 = sum1 + temp_sum;
}
// 方法一 使用求余数的方式进行,求最后的6个数字,就求余1000000
// 类比于求123,当中的23,那就是针对100求余数,两个数字对应100中的两个0
sum1 = sum1 % 1000000;
cout << sum1;
return 0;
}
**
解法二
**
#include <bits/stdc++.h>
using namespace std;
int main() {
long long int sum1 = 0, temp_sum = 1;
int n;
cin >> n;
for(int i=1; i<=n; i++) {
temp_sum = 1;
for(int j=1; j<=i; j++) {
// 每次计算的时候就完成取余数的操作
temp_sum = (temp_sum * j) % 1000000;
}
sum1 = (sum1 + temp_sum) % 1000000;
}
cout << sum1;
return 0;
}