代码拉取完成,页面将自动刷新
class Solution {
public:
string add(const string &num1, const string &num2) {
int maxLen = max(num1.size(), num2.size()) + 1;
string a = string(maxLen - num1.size(), '0') + num1;
string b = string(maxLen - num2.size(), '0') + num2;
int upper = 0;
for (int i = a.size() - 1; i > 0; i--) {
int x = a[i] - '0';
int y = b[i] - '0';
int res = x + y + upper;
upper = res / 10 > 0;
a[i] = res % 10 + '0';
}
if (upper)
a.front() = '1';
else
a = a.substr(1);
return a;
}
string multi(const string &num1, char num2, int zeros) {
string m = "0";
int k = num2 - '0';
for (int i = 0; i < num1.size(); i++) {
int f = num1[num1.size() - 1 - i] - '0';
m = add(m, to_string(f * k) + string(i, '0'));
}
return m + string(zeros, '0');
}
string multiply(string num1, string num2) {
if (num1 == "0" || num2 == "0")
return "0";
string ans;
for (int i = 0; i < num2.size(); i++) {
ans = add(ans, multi(num1, num2[num2.size() - 1 - i], i));
}
return ans;
}
};
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。