相比于本蒟蒻的上一个string写法不知道优化了多少(上一次写的大整数加减乘除(string)写法链接:https://blog.youkuaiyun.com/MaplePlane/article/details/95761741)
这几天学习了下发现vector写的是真的简便真的好写推荐用vector写法来做算法题下面附上乘除法的代码(加减法的还没来得及写后续不上O_O!!!)
vector<int> mul(vector<int>a, int b)
{
vector<int>c;
int t = 0;
for (int i = a.size() - 1; i >= 0; i--)
{
t += a[i] * b;
c.insert(c.begin(), t % 10);
t = t / 10;
}
if (t > 0)
c.insert(c.begin(), t);
return c;
}
vector<int> div(vector<int>a, int b)
{
vector<int>c;
bool is_first = true;
int t = 0;
int x = 0;
for (int i = 0; i < a.size(); i++)
{
t = t * 10 + a[i];
x = t / b;
if (!is_first || x)
{
c.push_back(x);
is_first = false;
}
t = t % b;
}
return c;
}
完整版大整数加减乘除(vector写法):
vector<int> mul(vector<int>a, int b)
{
vector<int>c;
int t = 0;
for (int i = a.size() - 1;