题目链接
题目大意是求,n转化为b进制的数,是否是回文判断并输出;
#pragma warning(disable:4996);
#include <iostream>
#include<stdio.h>
#include<algorithm>
#include<string.h>
#include<string>
#include<stack>
#include<math.h>
#include<vector>
using namespace std;
int main() {
int n, b;
cin >> n >> b;
int ans[100];
int pos = 0;
do {
ans[++pos] = n % b;
n /= b;
} while (n != 0);
int flag = 0;
for (int i = 1;i <=(pos/ 2);i++)//注意正确比较对应的数;
{
if (ans[i] != ans[pos +1- i]) {//从一开始,所以更后面的数比较要加1;
flag = 1;break;
}
}
if (flag == 0) cout << "Yes" << endl;
else cout << "No" << endl;
for (int i =pos;i >= 1;i--)
{//正确输出转化为对应进制的数,注意空格;
if (i == pos) cout << ans[i];
else cout << " " << ans[i];
}
return 0;
}