提交时间:2024-08-20 20:44:14

运行 ID: 169952

// #include "bits/stdc++.h" using namespace std; // int n,c[5001]; string ans="1"; // string to_str(int w){ string s,b=""; while(w>0){ s+=(w%10)+'0'; w/=10; } for(int i=s.size()-1;i>=0;i--)b+=s[i]; return b; } // string f(string a, string b) { memset(c,0,sizeof(c)); int x[5001]={0},y[5001]={0},r; for(int i=0;i<a.size();i++)x[a.size()-i]=a[i]-'0'; for(int i=0;i<b.size();i++)y[b.size()-i]=b[i]-'0'; for(int i=1;i<=a.size();i++){ r=0; for(int j=1;j<=b.size();j++){ c[i+j-1]=x[i]*y[j]+r+c[i+j-1]; r=c[i+j-1]/10; c[i+j-1]%=10; } c[i+b.size()]=r; } int cc=a.size()+b.size(); while(c[cc]==0&&cc>1)cc--; string io=""; for(int i=cc;i>=1;i--)io+=(char)c[i]+'0'; return io; } // signed main(){ cin >> n; for(int i=2;i<=n;i++)ans=f(ans,to_str(i)); cout << n << "!=" << ans; return 0; }