模拟除法过程
#include <iostream>
#include <algorithm>
#include <vector>
using namespace std;
//除法
vector<int> div(vector<int> &A, int b, int &r) { //r表示余数
vector<int> C; //保存结果,从高位开始
for(int i = 0; i < A.size(); i++) {
r = r * 10 + A[i];
C.push_back(r / b);
r %= b;
}
//去除高位0
while(C.size() > 1 && !C.front()) {
C.erase(C.begin());
}
return C;
}
int main() {
string a;
int b;
cin >> a >> b;
//将高精度数字各位保存到数组中,从高位开始保存
vector<int> A;
for(int i = 0; i < a.size(); i++) {
A.push_back(a[i]-'0');
}
int r = 0; //余数
vector<int> res = div(A, b, r);
for(int i = 0; i < res.size(); i++) {
cout << res[i];
}
cout << endl << r << endl;
return 0;
}