#define N 1000
int s[N*5]={1,1},n=N,t=2,a=1,b=0;
int z[N*5]={1},n,i,c,m=1;
int main()
{
printf("代码1结果\n");
//int abc1 = clock();
while(a<=*s||(++t<=n?(b=0,a=1):0))
{
s[a] = (b+=s[a]*t)%10,b/=10;
(*s==a++&&b) ? ++*s : 0;
}
//printf("1时间:%ld",clock()-abc1);
while(printf("%d",s[*s]),--*s);
printf("\n\n");//换行
printf("代码2结果\n");
//int abc2 = clock();
for(n=N+1;--n;m=i)
for(c=0,i=-1;++i<m||c;c/=10)
z[i] = (c+=z[i]*n)%10;
//printf("2时间:%ld",clock()-abc2);
while(printf("%d",z[--m]),m);
return 0;
}