Números simples

Mubashir precisa da sua ajuda para encontrar os números simples em um determinado intervalo.

Um número X com N algarismos, que chamaremos de d1, d2, ..., dN, é simples se esta equação for verdadeira:

X = d1^1 + d2^2 + ... + dN^N

Exemplos de números simples

89 = 8^1 + 9^2

135 = 1^1 + 3^2 + 5^3

Crie uma função que retorne um array de inteiros contendo todos os números simples do intervalo inclusivo de a a b.

  1. Gere os números de a a b.
  2. Mantenha apenas os números simples.
  3. Para determinar se um número é simples:
    1. Separe-o em seus algarismos individuais.
    2. Eleve cada algarismo à potência correspondente à sua posição, contando a partir de um.
    3. Some esses resultados e compare a soma com o número original.

Exemplos

Program.SimpleNumbers(1, 10) ➞ new[] { 1, 2, 3, 4, 5, 6, 7, 8, 9 }
Program.SimpleNumbers(1, 100) ➞ new[] { 1, 2, 3, 4, 5, 6, 7, 8, 9, 89 }
Program.SimpleNumbers(90, 100) ➞ new int[] { }

Observações

N/A