提交时间:2025-07-11 10:47:41

运行 ID: 330837

#include<iostream> using namespace std; int a[1005],b[1005],n,w; int main(){ cin>>n; a[1]=b[1]=1; for(int i=2;i<=n;i++){ for(int j=1;j<=200;j++) b[j]*=i; for(int j=1;j<=200;j++) if(b[j]>9){ b[j+1]+=b[j]/10;//进位 b[j]%=10; } for(int j=1;j<=200;j++){ a[j]+=b[j]; if(a[j]>9) { a[j+1]+=a[j]/10;//进位 a[j]%=10; } } } for(int i=200;i>=1;i--) if(a[i]!=0){ w=i; break; } for(int i=w;i>=1;i--) cout<<a[i]; return 0; }