PAT A1019 General Palindromic Number
思路:简单的回文模拟判断,注意当 N = 0 时直接判断为回文数。
#include<iostream>
#include<vector>
using namespace std;
vector<int> res;
void GetDigits(int N, int b) {
while(N != 0) {
res.push_back(N % b);
N /= b;
}
}
bool JudgePalin() {
int lens = res.size();
for(int i = 0; i < lens / 2; i++) {
if(res[i] != res[lens - i - 1])
return false;
}
return true;
}
int main() {
int N, b;
cin >> N >> b;
if(N == 0) {
cout << "Yes" << endl;
cout << "0";
return 0;
}
GetDigits(N, b);
if(JudgePalin() == true) cout << "Yes" << endl;
else cout << "No" << endl;
for(int i = res.size() - 1; i >= 0; i--) {
cout << res[i];
if(i != 0) cout << " ";
}
return 0;
}