高精度乘法:
vector<int>mul(vector<int> a,int b)
{vector<int> c;
int t = 0;
for(int i = 0;i < a.size();i++)
{ t+=a[i]*b;
c.push_back(t%10);
t/=10;
}
while(t)
{c.push_back(t%10);
t/=10;
}
return c;
}
高精度除法:
vector<int>div(vector<int>a,int b)
{ vector<int>c;
int t=0;
bool is_first=true;
int x =0;
for(int i = a.size();i>=0;i--)
{t=t*10+a[i];
x=t/b;
if(!is_first||x)
{ is_first=false;
c.push_back(x);
}
t%=b;
}
reverse(c.begin(),c.end());
return c;
}
两个高精度大数比较大小
vector<int>max_val(vector<int>a,vector<int>b)
{if(a.size()>b.size()) return a;
if(a.size()<b.size()) return b;
if(vector<int>(a.rbegin(),a.rend())>vector<int>(b.rbegin(),b.rend())) return a;
return b;
}