#include <stdio.h>
#include <string.h>
int s[10000];
int main()
{
int n;
while(scanf("%d",&n)!=EOF)
{
int i,j,k;
if(n==0||n==1)
{
printf("1\n");
continue;
}
int m=1,t;
for(i=2,k=0;i<=n;i++)
{
t=0;
for(j=0;j<k;j++)
{
int l=s[j]*i+t;
s[j]=l%10000;
t=l/10000;
}
m=i*m+t;
if(m>=10000)
{
s[k++]=m%10000;
m=m/10000;
}
}
printf("%d",m);
for(i=k-1;i>=0;i--)
printf("%04d",s[i]);//注意要输出前导0
printf("\n");
}
return 0;
}
hdu 1042 N!
最新推荐文章于 2021-01-23 16:31:43 发布