大数
#include<stdio.h>
#include<string.h>
int main()
{
int b;
int a[9000],i,j,k,len,n;
while(scanf("%d",&n)!=EOF)
{
memset(a,0,sizeof(a));
a[0]=1;len=0;
for(i=1;i<=n;i++)
{
k=0;
for(j=0;j<=len;j++)
{
b=(a[j]*i+k);
k=b/100000;
a[j]=b%100000;
}
a[j]=a[j]+k;
while(a[j]>0)
{
a[j+1]=a[j+1]+a[j]/100000;
a[j]=a[j]%100000;
len++;j++;
}
}
printf("%d",a[len]);
for(j=len-1;j>=0;j--)
printf("%05d",a[j]);
printf("\n");
}
return 0;
}