最后一点的数据是
9000000000
1000000000
然后,我的输出是
9
对此题产生疑惑,我认为可能是输出有问题,但是改了后还是无法通过。
#include<iostream>
#include<algorithm>
#include<vector>
using namespace std;
vector<int> calc(vector<int>& A, int b, int& r) {
vector<int> C;
r = 0;
for (int i = A.size() - 1; i >= 0; i--) {
r = r * 10 + A[i];
C.push_back(r / b);
r %= b;
}
reverse(C.begin(), C.end());
while (C.size() > 1 and C.back() == 0) {
C.pop_back();
}
return C;
}
int main() {
string a;
vector<int> A;
int b,r;
cin >> a >> b;
for (int i = a.size() - 1; i >= 0; i--) {
A.push_back(a[i] - '0');
}
auto C = calc(A, b, r);
for (int i = C.size() - 1; i >= 0; i--) {
cout << C[i];
}
return 0;
}