Run ID | 作者 | 问题 | 语言 | 测评结果 | 分数 | 时间 | 内存 | 代码长度 | 提交时间 |
---|---|---|---|---|---|---|---|---|---|
171985 | A班-陆泽铭 | 高精度乘法 | C++ | 通过 | 100 | 1 MS | 260 KB | 634 | 2024-08-20 21:10:27 |
#include<iostream> #include<algorithm> #include<string> #include<vector> using namespace std; int main() { vector<int> a,b; string s; cin>>s; for(int i=s.size()-1;i>=0;i--) { a.push_back(s[i]-'0'); } cin>>s; for(int i=s.size()-1;i>=0;i--) { b.push_back(s[i]-'0'); } 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(); for(int i=c.size()-1;i>=0;i--) cout<<c[i]; }