题目链接:点击打开链接
#include<cstdio>
#include<cstdlib>
int main()
{
int n;
while(~scanf("%d",&n))
{
long a[8916] = {1,0},i,c,len;
for ( len = 1;n > 1;n--)
{
c = 0;
for (i = 0; i < len;i++ )
{
c += a[i] * n;
a[i] = c % 10000;
c /= 10000;
}
c > 0 ? len++ : 0;
a[i] = c;
} //万位制,所以输出格式为“04d”,先输出一个数,防止首位出现0,
len--;
printf("%d",a[len--]);
for( ;len >= 0; len--)
printf("%04d",a[len]);
printf("\n");
}
return 0;
}