思路:
变成对应的进制,然后判断是不是回文数。
代码:
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
int main()
{
ll n, b;
cin >> n >> b;
vector<ll>v;
while (n)
{
v.push_back(n % b);
n /= b;
}
int f = 0;
for (int i = 0; i < v.size() / 2; ++i)
{
if (v[i] != v[v.size() - 1 - i])
{
f = 1;
break;
}
}
if (f)
{
cout << "No" << endl;
}
else
{
cout << "Yes" << endl;
}
for (int i = v.size() - 1; i >= 0; --i)
{
cout << v[i];
if (i != 0)
cout << " ";
}
return 0;
}