Run ID | 作者 | 问题 | 语言 | 测评结果 | 分数 | 时间 | 内存 | 代码长度 | 提交时间 |
---|---|---|---|---|---|---|---|---|---|
169952 | 吴宇航 | 高精度乘法 | C++ | 输出超限 | 0 | 77 MS | 376 KB | 860 | 2024-08-20 20:44:14 |
// #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; }