题目大意:给定数 N 、进制 b ,判断 N 在进制 b 下是不是回文数字并输出。
解题思路:注意输出样式 和 0 的特判。
题目链接:https://www.patest.cn/contests/pat-a-practise/1019
#include <iostream>
#include <algorithm>
#include <set>
#include <map>
#include <vector>
#include <stack>
#include <queue>
#include <cmath>
using namespace std;
stack<int > SS;
int main(int argc, char** argv) {
int n,b,N;
cin >> N >> b;
n = N;
int sum = 0;
if(n == 0)
{
SS.push(0);
}
while(n!=0)
{
sum *= b;
sum += n%b;
SS.push(n%b);
n /= b;
}
if(sum == N)
cout << "Yes" << endl;
else
cout << "No" <<endl;
bool flag = false;
while(!SS.empty())
{
if(flag == true)
{
cout << " " << SS.top();
}
else
{
cout << SS.top();
flag = true;
}
SS.pop();
}
return 0;
}