Te dejo una ayuda. Como necesitas obtener el inverso ademas de hacer la tranformacion. Aca tenes la funcion reverse que da vuelta el numero
Código C++:
Ver originalint reverse(int n)
{
int resultado = 0;
while(n > 0) {
resultado = resultado * 10 + n % 10;
n /= 10;
}
return resultado;
}
En la funcion reverse, n % 10 es el digito de la unidad que corresponde con cada iteracion. Podrias capturar ese digito y filtrar si es 1 6 9 8. Si no es simplimetes la funcion devuelve un numero negativo y asi filtras los numeros esos.
te faltaria hacer la conversion del 6 por el 9 que no es nada dificil.
Saludos, espero haberte guidado un poco.