150 principais entrevistasFácil

Número feliz

Guia detalhado e implementação de Python para o problema do 'Número Feliz'.

Declaração do problema

Fácil

Escreva um algoritmo para determinar se um número n é feliz.

Um número feliz é um número definido pelo seguinte processo:

- Começando com qualquer número inteiro positivo, substitua o número pela soma dos quadrados dos seus dígitos.

- Repita o processo até que o número seja igual a 1 (onde ficará), ou faça um loop indefinido em um ciclo que não inclua 1.

- Aqueles números para os quais este processo termina em 1 são felizes.

Retorne verdadeiro se n for um número feliz e falso se não for.

Implemente uma função isHappy(n: int) -> bool.

Restrições
  • 1 <= n <= 2^31 - 1

Exemplos

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 usar estruturas de dados específicas de matemática e geometria, como conjuntos ou heaps.
Edge Cases to Watch
  • Estruturas de entrada vazias
  • Entradas de elemento único
  • Grandes limites numéricos

Pronto para resolver?

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

Abrir no 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 Python recomendados

Expanda seu conhecimento com tutoriais interativos relacionados, folhas de dicas e comparações de código.