AcWing 793. 高精度乘法
原题链接
简单
作者:
永远热爱
,
2021-03-14 12:36:39
,
所有人可见
,
阅读 286
#include<iostream>
#include<vector>
#include<algorithm>
using namespace std;
vector<int> mul(vector<int>& c,int d)
{
vector<int>res;
int t=0;
int x=c.size();
for(int i=0;i<x||t;i++)
{
t=t+c[i]*d;
res.push_back(t%10);
t/=10;
}
while(res.size()>1&&res.back()==0)res.pop_back();//注意前导0 要去 比如 12345*0 就是0 而不是00000;
return res;
}
int main()
{
string a;
cin>>a;
vector<int> c;
int d;
cin>>d;
for(int i=a.size()-1;i>=0;i--)c.push_back(a[i]-'0');//54321
auto res=mul(c,d);
for(int i=res.size()-1;i>=0;i--)cout<<res[i];
cout<<endl;
return 0;
}