#include <iostream>
#include <string>
#include <vector>
#include <algorithm>
using namespace std;
class Solution {
public:
string multiply(
string num1,
string num2)
{
reverse(num1.begin(), num1.end());
reverse(num2.begin(), num2.end());
int tmp =
0;
string s(num1.length() + num2.length(),
'0');
for (size_t i =
0; i < num1.length(); ++i)
{
for (size_t j =
0; j < num2.length(); ++j)
{
tmp = (num1[i] -
'0') * (num2[j] -
'0');
s[i + j +
1] = s[i + j +
1] -
'0' + (s[i + j] -
'0' + tmp) /
10 +
'0';
s[i + j] = (s[i + j] -
'0' + tmp) %
10 +
'0';
}
}
reverse(s.begin(), s.end());
auto pos = s.find_first_not_of(
'0');
if (pos ==
string::npos)
return "0";
else
return s.substr(pos);
}
};
void TEST()
{
Solution sol;
string s1 =
"123";
string s2 =
"234";
cout << sol.multiply(s1, s2) << endl;
}
int main()
{
TEST();
return 0;
}
转载请注明原文地址: https://ju.6miu.com/read-1300317.html