题目描述
大数的乘法 C++版
样例
// 大数乘法
#include <iostream>
#include <vector>
#include <string>
using namespace std;
vector<int> multiBigNum(vector<int> vecA, int B)
{
vector<int> ans;
int t = 0;
for (int i = 0; i < vecA.size(); i++)
{
t = t + vecA[i] * B;
ans.push_back(t % 10);
t = t / 10;
}
// 处理剩余的部分
while (t > 0)
{
ans.push_back(t % 10);
t /= 10;
}
// 去掉前导0
while (ans.size() > 1 && ans.back() == 0) ans.pop_back();
return ans;
}
int main()
{
// 读取输入
string A;
int B;
cin >> A >> B;
vector<int> vecA;
for (int i = A.size() - 1; i >= 0; i--) vecA.push_back(A[i] - '0');
vector<int> ans = multiBigNum(vecA, B);
for (int i = ans.size() - 1; i >= 0; i--)
{
cout << ans[i];
}
cout << endl;
return 0;
}