注:特殊情况 n == 0.
#include <stdio.h>
int main(int argc, char *argv[]) {
int n, b;
scanf("%d %d", &n, &b);
if (n == 0) {
printf("Yes\n0\n");
return 0;
}
int i;
int a[100];
int m = n;
int k = 0;
while (m > 0) {
a[k] = m % b;
m = m / b;
k++;
}
bool flag = true;
for (i = 0; i < k; i++) {
if (a[i] != a[k - 1 - i]) {
flag = false;
}
}
if (flag == true)
printf("Yes\n");
else printf("No\n");
for (i = k - 1; i >= 0; i--) {
printf("%d", a[i]);
if (i > 0) printf(" ");
else printf("\n");
}
return 0;
}