#include <bits/stdc++.h>
// #include <string>
// #include <vector>
using namespace std;
const int N = 1e5 + 10;
vector<int> multiplyLargeNumbers(const string &a, const string &b) {
vector<int> result(a.size() + b.size(), 0);
for (int i = 0; i < a.size(); i++) {
int num1 = a[a.size() - 1 - i] - '0';
for (int j = 0; j < b.size(); j++) {
int num2 = b[b.size() - 1 - j] - '0';
result[i + j] += num1 * num2;
result[i + j + 1] += result[i + j] / 10;
result[i + j] %= 10;
}
}
while (result.size() > 1 && result.back() == 0) {
result.pop_back();
}
reverse(result.begin(), result.end());
return result;
}
int main() {
string a, b;
cin >> a >> b;
vector<int> product = multiplyLargeNumbers(a, b);
for (int digit : product) {
cout << digit;
}
cout << endl;
return 0;
}
大整数乘法,简洁写法
于 2024-08-07 11:34:37 首次发布