來源:《信息學奧賽一本通(C++版)》P73【階乘之和】
【題目描述】
4.19 階乘之和。輸入n,計算s=1!+2!+3!+…+10!的末六位(不含前導0)。n<=10^6,10!表示前n個正整數之和。
【輸入樣例】
10
【輸出樣例】
37913
代碼如下:
注:代碼僅供參考,不只有一種解法。
//此爲《信息學奧賽一本通(C++版)》階乘之和的優化程序。
#include<cstdio>
int main()
{
int n,s=0,f=1;
scanf("%d",&n);
for(int i=1;i<=n;i++){f*=i;s+=f;}
printf("%d",s%1000000);
return 0;
}