Número feliz

Un número feliz es un número que produce un 1 al sumar repetidamente el cuadrado de sus dígitos. Si tal proceso da como resultado un ciclo interminable de números que contiene 4, se dice que el número es un número infeliz.

Cálculo de ejemplo:

139 = 1^2 + 3^2 + 9^2 = 1 + 9 + 81 = 91
91 = 9^2 + 1^2 = 81 + 1 = 82
82 = 8^2 + 2^2 = 64 + 4 = 68
68 = 6^2 + 8^2 = 36 + 64 = 100
100 = 1^2 + 0^2 + 0^2 = 1 + 0 + 0 = 1

Nos detenemos en 1 (porque continuar producirá un ciclo interminable); por lo tanto, 139 es un número feliz.

67 = 6^2 + 7^2 = 36 + 49 = 85
85 = 8^2 + 5^2 = 64 + 25 = 89
89 = 8^2 + 9^2 = 64 + 81 = 145
145 = 1^2 + 4^2 + 5^2 = 1 + 16 + 25 = 42
42 = 4^2 + 2^2 = 16 + 4 = 20
20 = 2^2 + 0^2 = 4 + 0 = 4

Nos detenemos en 4 (porque continuar producirá un ciclo interminable); por lo tanto, 67 es un número infeliz.

Crea una función que acepte un número y determine si el número es un número feliz o no. Devuelve true si lo es y false en caso contrario.

Ejemplos

isHappy(67) ➞ false

isHappy(89) ➞ false

isHappy(139) ➞ true

isHappy(1327) ➞ false

isHappy(2871) ➞ false

isHappy(3970) ➞ true

Notas

  • Pista: Tu bucle termina si el valor de n es 1 o 4.
  • Opcionalmente, puedes resolver este desafío mediante un enfoque recursivo.
  • Puedes encontrar una versión recursiva de este desafío aquí.