社区讨论
TLE,调过闭关
P1303A*B Problem参与者 2已保存回复 2
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 2 条
- 当前快照
- 1 份
- 快照标识符
- @mj2v1ihn
- 此快照首次捕获于
- 2025/12/12 20:45 2 个月前
- 此快照最后确认于
- 2025/12/14 14:25 2 个月前
CPP
#include <bits/stdc++.h>
#define ll long long
using namespace std;
string a, b;
string add(string x, string y)
{
if (x.size() < y.size()) swap(x, y);
int p = x.size() - y.size();
for (int i = 0; i <= p; i++) y = '0' + y;
x = '0' + x;
p = 0;
for (int i = x.size() - 1; i >= 0; i--)
{
int tmp = x[i] + y[i] + p - '0' - '0';
x[i] = tmp % 10 + '0';
p = tmp / 10;
// cout << (int)(x[i]) << endl;
}
if (x[0] == '0') x = x.substr(1);
return x;
}
string sub(string x)
{
for (int i = x.size() - 1; i >= 0; i--)
{
if (x[i] != '0')
{
x[i]--;
for (int j = i + 1; j < x.size(); j++) x[j] = '9';
break;
}
}
for (int i = 0; i < x.size(); i++)
{
if (x[i] != '0') return x.substr(i);
}
return "0";
}
string mul(string x, string y)
{
string ans = "0";
while (y != "0")
{
y = sub(y);
ans = add(ans, x);
}
return ans;
}
int main()
{
// freopen(".in", "r", stdin);
// freopen(".out", "w", stdout);
ios::sync_with_stdio(false);
cin.tie(0), cout.tie(0);
cin >> a >> b;
cout << mul(a, b);
return 0;
}
有没有潜在 或是
回复
共 2 条回复,欢迎继续交流。
正在加载回复...