/**********************************************
1000!算法 linux测试通过
**********************************************/
int main()
{
long dd[m]={1},bit=0,tmp,top=1;
int i,j,x;
for(i=2;i<=1000;i++)
{
for(j=0;j<top;j++)
{
dd[j]=dd[j]*i;
}
for(j=0;j<top;j++)
{
tmp=dd[j];
dd[j]=(bit+tmp)%10;
bit=(bit+tmp)/10;
}
while(bit>0){
dd[top++]=bit%10;
bit=bit/10;
}
}
for(i=top-1;i>=0;i--)
printf("%d",dd[i]);
printf("\n");
return 0;
}