#include <iostream>
#include <string>
#include <vector>
using namespace std;
int main() {
string num;
cin >> num;
int bcs;
cin >> bcs;
vector<int> ynum;
int temp{ 0 }, ys{ 0 };
for (auto i : num) {
temp = ((i - 48) + ys * 10) / bcs;
ynum.push_back(temp);
ys = ((i - 48) + ys * 10) % bcs;
}
if (ynum.size() > 1) {
for (auto i = ynum.begin() + 1; i != ynum.end(); ++i) {
cout << *i;
}
}
else {
for (auto i = ynum.begin(); i != ynum.end(); ++i) {
cout << *i;
}
}
cout << " " << ys;
}
输出写错了,应该是
for (size_t i = 0; i < ynum.size(); i++) {
if (ynum[i] == 0 && i == 0 && yum.size() > 1)
continue;
cout << ynum[i];
}
cout << ' ' << ys;
考虑特殊情况首位不能相除时,ynum不能push_back 0
比如 123 除以 2,你得到的应该是061;