AcWing 794. 高精度除法
原题链接
简单
作者:
永远热爱
,
2021-03-14 12:55:13
,
所有人可见
,
阅读 290
//注意这个正着写也可以 但主要前面都是反正写 这里也反着写好记
#include<iostream>
#include<vector>
#include<algorithm>
using namespace std;
vector<int> mul(vector<int>& c,int d,int &t)
{
vector<int>res;
int r=0;
int x=c.size();
for(int i=x-1;i>=0;i--)
{
r=r*10+c[i];
res.push_back(r/d);
r=r%d;//取每一次的余数。
}
t=r;
reverse(res.begin(),res.end());
while(res.size()>1&&res.back()==0)res.pop_back();//注意前导0 要去 比如 00012345 就是答案是12345 而不是00012345;
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
int t=0;
auto res=mul(c,d,t);
for(int i=res.size()-1;i>=0;i--)cout<<res[i];
cout<<endl;
cout<<t<<endl;
return 0;
}