AcWing 793. 高精度乘法
原题链接
简单
作者:
szywdwd
,
2021-06-05 11:05:48
,
所有人可见
,
阅读 223
#include <iostream>
#include <string>
#include <vector>
using namespace std;
vector<int> A;
int B;
vector<int> multiply(vector<int> a, int b) {
vector<int> res;
int t = 0;
for(int i = 0; i < a.size() || t; ++i) {
if(i < a.size()) t += a[i] * b;
res.push_back(t % 10);
t /= 10;
}
// 处理前置0
while(res.size() > 1 && res.back() == 0) res.pop_back();
return res;
}
int main()
{
string a;
cin >> a >> B;
for(int i = a.size() - 1; ~i; --i)
A.push_back(a[i] - '0');
vector<int> C(multiply(A, B));
for(int i = C.size() - 1; ~i; --i)
cout << C[i];
cout << endl;
return 0;
}