一开始用的string,会发现基数是大于10的时候就不行了。乖乖用vector吧。
#include <bits/stdc++.h>
using namespace std;
int main() {
int a, b;
vector<string> s, rver;
scanf ("%d %d", &a, &b);
while (a != 0) {
s.push_back(to_string(a % b));
a /= b;
}
rver = s;
reverse(rver.begin(), rver.end());
if (s == rver) printf ("Yes\n");
else printf ("No\n");
for (int i = 0; i < rver.size(); i++) {
if (i != 0) printf (" ");
printf ("%s", rver[i].c_str());
}
}