输入n,计算S=1!+2!+3!+.....n!的末6位(不含前导0)。n<=10^-6,n!表示前n个正整数之积。
样例输入:
10
样例输出:
37913
//阶乘之和 <不考虑数据范围>
#include<stdio.h>
main()
{
int i,j,sum=0,n,sub;
scanf("%d",&n);
for(i=1;i<=n;i++)
{
sub=1;
for(j=1;j<=i;j++)
{
sub=sub*j;
//printf("%d\n",sub);
}
//printf("%d\n",sub);
sum=sum+sub;
}
printf("%d",sum%100000);
}
//阶乘之和 <考虑数据范围>
#include<stdio.h>
main()
{
int i,j,sum=0,n,sub;
scanf("%d",&n);
for(i=1;i<=n;i++)
{
sub=1;
for(j=1;j<=i;j++)
{
sub=sub*j%100000;
//printf("%d\n",sub);
}
//printf("%d\n",sub);
sub=sub;
sum=sum+sub;
}
printf("%d",sum%100000);
}
模运算可以再循环内部进行避免数据越界