题目描述
设 S=1!+2!+3!+…+n! 。
其中 !
表示阶乘,如: 5!=5×4×3×2×1 。
请你设计一个程序,输出 S 的后 3 位(使用自定义函数)。
输入格式
一行一个整数 n 。
输出格式
一行一个整数,输出 S 的后 3 位,不满 3 位按实际位数输出。
样例数据
输入样例 #1 | 输出样例 #1 |
---|---|
4 |
33 |
样例分析
如上所述。
数据范围
对于 100% 的数据: 3≤n≤10
解题:
#include<bits/stdc++.h>
using namespace std;
int n;
long long sum;
int factorial(int n){
if(n==0||n==1)return 1;
return n*=factorial(n-1)%1000;
}
int main(){
scanf("%d",&n);
for(int i=1;i<=n;i++)sum+=factorial(i);
printf("%d",sum%1000);
return 0;
}