rt,题面
#include<iostream>
#include<algorithm>
using namespace std;
long long n,a[100000],b[100000],la=1,maxx=0;
int main() {
cin>>n;
a[1]=1;
for(int g=1; g<=n; g++) {
for(int i=1; i<=la; i++) {
a[i]*=g;
}
for(int i=1; i<=la; i++) {
a[i+1]+=a[i]/10;
a[i]%=10;
}
while(a[la+1]>0)
la++;
maxx=max(la,maxx);
for(int i=1; i<=maxx; i++) {
b[i]+=a[i];
b[i+1]+=b[i]/10;
b[i]%=10;
}
while(b[maxx+1]>0)
maxx++;
}
for(int i=maxx; i>=1; i--)
printf("%d",b[i]);
}