AcWing 794. 高精度除法
原题链接
简单
#include<iostream>
#include<vector>
#include<string>
#include<algorithm>
using namespace std;
string a;
vector<int> x;
int b;
int r=0;
vector<int> divide(vector<int> &a,int b){
vector<int> c;
for(int i=0;i<a.size();i++) {
c.push_back((a[i]+r*10)/b);
r=(a[i]+r*10)%b;
}
return c;
}
int main() {
cin>>a>>b;
for(int i=0;i<a.length();i++) {
x.push_back(a[i]-'0');
}
auto result=divide(x,b);
auto it=find_if(result.begin(),result.end(),[](int value) {
return value!=0;
});
if(it!=result.end()){
int index=distance(result.begin(),it);
for(int i=index;i<result.size();i++) {
printf("%d",result[i]);
}
cout<<endl;
cout<<r;
return 0;
}
else {
cout<<0<<endl;
cout<<r<<endl;
}
}