链接http://noi.openjudge.cn/ch0106/15/
#include<bits/stdc++.h>
using namespace std;
int s[500],s1[500];
int main()
{
int n;
scanf("%d",&n);
int fg=1;
memset(s,0,sizeof(s));
s[1]=1;
memset(s1,0,sizeof(s1));
for(int k=1;k<=n;k++)
{
for(int i=1;i<400;i++)
{
s[i]*=k;
s[i]+=s[i-1]/10;
s[i-1]%=10;
}
for(int i=1;i<400;i++)
{
s1[i]+=s[i];
s1[i]+=s1[i-1]/10;
s1[i-1]%=10;
}
}
for(int i=401;i>=1;i--)
{
if(fg==1 && s1[i]!=0)
{
printf("%d",s1[i]);
fg=0;
}else
if(fg==0)
{
printf("%d",s1[i]);
}
}
return 0;
}