有关最后一个点的疑惑,我程序输出结果为9但是WA
查看原帖
有关最后一个点的疑惑,我程序输出结果为9但是WA
787061
Payton123楼主2023/1/12 11:33

最后一点的数据是 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];
	}
	//cout << endl << r;
	return 0;
}
2023/1/12 11:33
加载中...