Un programa rápido de Java revela los números:
Son los únicos números que son menores que$10^8$. Esto no es de ninguna manera una respuesta completa, pero es un buen comienzo. Esto tomó un par de minutos para ejecutar, por lo que su uso para comprobar la existencia de mayores poderes de$n$ no es viable. Avísame si tienes mejoras para el código.
Mi código está abajo.
import java.util.Arrays;
class WeirdNumberTest
{
public static void main(String args[])
{
for (int number = 1; number < 100000000; number++)
{
int[] digits = getDigits(number);
int sum = 0;
int n = digits.length;
for (int i = 0; i < n; i++)
{
sum += Math.pow(digits[i], digits[n-1-i]);
}
if (number == sum) System.out.println(sum);
}
}
public static int[] getDigits(int n)
{
int nbrDigits = 0;
int currentNbr = n;
while (currentNbr != 0)
{
currentNbr = currentNbr/10;
nbrDigits++;
}
int[] digitArray = new int[nbrDigits];
currentNbr = n;
for (int i = 0; i < nbrDigits; i++)
{
digitArray[i] = currentNbr%10;
currentNbr = currentNbr/10;
}
return digitArray;
}
}