Entrevista a los 150 mejoresfácil

Número feliz

Guía detallada e implementación de Python para el problema 'Happy Number'.

Declaración del problema

fácil

Escribe un algoritmo para determinar si un número n es feliz.

Un número feliz es un número definido por el siguiente proceso:

- Comenzando por cualquier número entero positivo, se sustituye el número por la suma de los cuadrados de sus cifras.

- Repita el proceso hasta que el número sea igual a 1 (donde permanecerá), o se repite sin fin en un ciclo que no incluye 1.

- Son felices aquellos números para los cuales este proceso termina en 1.

Devuelve verdadero si n es un número feliz y falso si no.

Implementar una función isHappy(n: int) -> bool.

Restricciones
  • 1 <= n <= 2^31 - 1

Ejemplos

Example 1
Input
19
Output
True
Explanation

1^2 + 9^2 = 82. 8^2 + 2^2 = 68. 6^2 + 8^2 = 100. 1^2 + 0^2 + 0^2 = 1. Since we reached 1, 19 is a happy number.

Example 2
Input
2
Output
False
Explanation

2 -> 4 -> 16 -> 37 -> 58 -> 89 -> 145 -> 42 -> 20 -> 4 -> ... This loops forever without reaching 1.

Need a Hint?
Considere la posibilidad de utilizar estructuras de datos específicas de matemáticas y geometría, como conjuntos o montones.
Edge Cases to Watch
  • Estructuras de entrada vacías
  • Entradas de un solo elemento
  • Grandes límites numéricos

¿Listo para resolver?

Open the problem in PyRun's browser-based Python editor. Your code runs fully offline — no server required.

Abrir en el editor
Found this breakdown helpful?

PyRun is built and maintained by an independent solo developer. If this helped your interview prep, consider buying a coffee!

Buy me a coffee

Recursos recomendados de Python

Amplíe sus conocimientos con tutoriales interactivos relacionados, hojas de trucos y comparaciones de códigos.