Run ID | 作者 | 问题 | 语言 | 测评结果 | 分数 | 时间 | 内存 | 代码长度 | 提交时间 |
---|---|---|---|---|---|---|---|---|---|
106257 | wwzzzzzz | 高精度乘法 | C++ | 解答错误 | 23 | 0 MS | 252 KB | 726 | 2023-10-10 13:52:34 |
#include <bits/stdc++.h> using namespace std; int c[114514]; signed main() { string a,b,a_,b_; int n; cin >> a_ >> b_; for(int i = a_.length()-1; i >= 0; i--) { a += a_[i]; } for(int i = b_.length()-1; i >= 0; i--) { b += b_[i]; } if(a_.length()>b_.length()) { for(int i = 1; i <= a_.length()-b_.length(); i++)b+='0'; } if(b_.length()>a_.length()) { for(int i = 1; i <= b_.length()-a_.length(); i++)a+='0'; } n = a.length(); for(int i = 0; i < n; i++) { for(int j = 0; j < n; j++) { c[i+j]+=(b[i]-'0')*(a[j]-'0'); c[i+j+1]+=c[i+j]/10; c[i+j]%=10; } } if(c[n]) { n++; } for(int i = n-1; i >= 0; i--) { cout << c[i]; } return 0; }