InstruçÔes

NĂșmeros de Lychrel

<ol> <li>Take an integer <code>n₀</code>, greater than zero.</li> <li>Form the next number <code>n</code> of the series by reversing <code>n₀</code> and adding it to <code>n₀</code></li> <li>Stop when <code>n</code> becomes palindromic - i.e. the digits of <code>n</code> in reverse order == <code>n</code>.</li> </ol> A relação de recorrĂȘncia acima, quando aplicada Ă  maioria dos nĂșmeros iniciais n = 1, 2, ... termina rapidamente em um palĂ­ndromo. Por exemplo, se n₀ = 12, temos we get:
12
12 + 21 = 33,  a palindrome!
E se n₀ = 55, temos:
55
55 + 55 = 110
110 + 011 = 121,  a palindrome!
Note que a verificação de um palĂ­ndromo acontece *apĂłs* uma adição. Alguns nĂșmeros iniciais parecem demorar para sempre. A relação de recorrĂȘncia para 196 foi calculada por milhĂ”es e milhĂ”es de repetiçÔes formando nĂșmeros com milhĂ”es de dĂ­gitos, sem formar um palĂ­ndromo. Esses nĂșmeros que nĂŁo terminam em um palĂ­ndromo sĂŁo chamados de nĂșmeros de Lychrel. Para fins desta tarefa, um nĂșmero de Lychrel Ă© qualquer nĂșmero inicial que nĂŁo forme um palĂ­ndromo em 500 (ou mais) iteraçÔes. NĂșmeros Seed e Lychrel relacionados: Qualquer inteiro produzido na sequĂȘncia de um nĂșmero de Lychrel tambĂ©m Ă© um nĂșmero de Lychrel. Em geral, qualquer sequĂȘncia a partir de um nĂșmero Lychrel *pode* convergir para se juntar Ă  sequĂȘncia de um candidato a nĂșmero Lychrel anterior; por exemplo, as sequĂȘncias para os nĂșmeros 196 e depois 689 começam:
196
    196 + 691 = 887
    887 + 788 = 1675
    1675 + 5761 = 7436
    7436 + 6347 = 13783
    13783 + 38731 = 52514
    52514 + 41525 = 94039
    ...
    689
    689 + 986 = 1675
    1675 + 5761 = 7436
    ...
Vemos, portanto, que a sequĂȘncia que começa com 689 converge e continua com os mesmos nĂșmeros que para 196. Por causa disso, podemos dividir ainda mais os nĂșmeros de Lychrel em verdadeiros candidatos a nĂșmeros de Lychrel Seed e nĂșmeros Related que nĂŁo produzem palĂ­ndromos mas tĂȘm inteiros em sua sequĂȘncia vistos como parte da sequĂȘncia gerada a partir de um nĂșmero de Lychrel inferior.

O que fazer:

Escreva uma função que recebe um nĂșmero como parĂąmetro. Retorne true se o nĂșmero for um nĂșmero de Lynchrel. Caso contrĂĄrio, retorne false. Lembre-se de que o limite de iteraçÔes Ă© de 500.

Critérios de Aceitação:

Testes:

  • `isLychrel` deve ser uma função.
  • `isLychrel(12)` deve retornar um booleano.
  • `isLychrel(12)` deve retornar `false`.
  • `isLychrel(55)` deve retornar `false`.
  • `isLychrel(196)` deve retornar `true`.
  • `isLychrel(879)` deve retornar `true`.
  • `isLychrel(44987)` deve retornar `false`.
  • `isLychrel(7059)` deve retornar `true`.

Console