提交时间:2024-08-20 21:29:02

运行 ID: 173555

#include<iostream> #include<algorithm> #include<string> #include<vector> using namespace std; vector<int> mul(vector<int>a,vector<int>b) { vector<int> c(a.size()+b.size()+10,0); for(int i=0;i<a.size();i++) { for(int j=0;j<b.size();j++) { c[i+j]+=a[i]*b[j]; } } int sum=0; for(int i=0;i<c.size();i++) { sum+=c[i]; c[i]=sum%10; sum/=10; } while(c.size()>1&&c.back()==0) c.pop_back(); return c; } int main() { vector<int> z; z.push_back(1); int n,j; cin>>n; for(int i=1;i<=n;i++) { j=i; vector<int> a; while(j>0) { a.push_back(j%10); j=j/10; } z=mul(a,z); } cout<<n<<"!="; for(int i=z.size()-1;i>=0;i--) cout<<z[i]; }