Description
题目很简明:
令S[n]=1*1!+2*2!+3*3!+4*4!+....+n*n!
求S[n]%10000007
Input
多组测试数据
每组一个n
n的范围:1<=n<=1000000
Output
输出:S[n]%10000007
Sample Input
1
2
Sample Output
1
5
这道题也是要注意数据的溢出。
参考代码:
#include<stdio.h>
int
main()
{
int
n;
while
(
scanf
(
"%d"
,&n)!=EOF)
{
int
i;
__int64
s=0,t=1;
for
(i=1;i<=n;i++)
{
int
_i=i%10000007;
t=(t*_i)%10000007;
s=(s+(t*_i)%10000007)%10000007;
}
printf
(
"%I64d\n"
,s);
}
return
0;
}