设size=i,答案是ai;
a1=2=1+1;
a2=8=2+2*2+2;
a3=48=8+8*2+8*2+8;
a4=384 =48+48*2+48*2+48*2+48;
......
很明显规律:an=an-1+2*(n-1)an-1+an-1=2*n*an-1;
即:an=2^n*n!
注意:1.an=2^n*n!,,,所以当n>1000003时,n!中有1000003这个因数,故ans=0,
代码:
#include<iostream>
#include<cstdio>
#include<math.h>
using namespace std;
const int con=1000003;
__int64 arr[con+1000];
int main()
{
int T;
__int64 n;
arr[0]=0;
arr[1]=2;
for(int i=2;i<=con;i++)
{
arr[i]=(arr[i-1]*2*i)%con;
}
scanf("%d",&T);
while(T--)
{
scanf("%I64d",&n);
if(n<=con)
printf("%I64d\n",arr[n%con]);
else printf("0\n");
}
return 0;
}