话不多说,这次写的是两个参数均是vector的高精度加减乘除,直接上代码:
vector<int> PlusH(vector<int>a, vector<int>b)//此参数的vector的a如果真实值为123那么vector里变成321
{
vector<int>c;
c.clear();
for (int i = 0, t = 0; i < a.size() || i < b.size() || t; i++)
{
if (i < a.size()) t += a[i];
if (i < b.size())t += b[i];
c.push_back(t % 10);
t = t / 10;
}
return c;//还是倒着的
}//时间复杂度为O(n)
vector<int> Plus(vector<int>a, int b)
{
vector<int>c;
c.clear();
a[0] += b;
for (int i = 0, t = 0; i < a.size() || t; i++)
{
t += a[i];
c.push_back(t % 10);
t = t/ 10;
}
return c;
}
vector<int> Mul(vector<int>a,int b)
{
vector<int> c;
if (b == 0)
{
c.push_back(0);
return c;
}
c.clear();
for (int i = 0, t = 0; i < a.size()||t; i++)
{
if (i < a.size()) t += b * a[i];
c.push_back(