Utiliza directamente la función de recuperación de palíndromo de 1015, segunda respuesta
Ideas
Use una matriz dinámica para almacenar cada dígito
, en su lugar, forme un nuevo dígito para determinar si es igual al dígito original.
#include <cstdio>
#include <cmath>
#include <vector>
using namespace std;
vector<int> num;
int reverse(int n,int r)
{
int result = 0;
do {
num.push_back(n%r);
n /= r;
}while (n != 0);
for (int i = num.size()-1; i >= 0 ; --i) {
result += num[num.size()-i-1]*pow(r,i);
}
return result;
}
int main()
{
int N,b;
scanf("%d %d",&N,&b);
int reverse_n = reverse(N,b);
if(reverse_n == N) printf("Yes\n");
else printf("No\n");
for (int i = num.size()-1; i >=0; --i)
{
printf("%d",num[i]);
if(i != 0) printf(" ");
}
}