Utilisé directement la fonction de récupération du palindrome de 1015, deuxième réponse
Des idées
Utilisez un tableau dynamique pour stocker chaque chiffre. Créez
plutôt un nouveau chiffre pour déterminer s'il est égal au chiffre d'origine.
#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(" ");
}
}