Top 150 des entrevuesFacile

Numéro heureux

Guide détaillé et implémentation de Python pour le problème « Happy Number ».

Énoncé du problème

Facile

Écrivez un algorithme pour déterminer si un nombre n est heureux.

Un nombre heureux est un nombre défini par le processus suivant :

- En commençant par n'importe quel entier positif, remplacez le nombre par la somme des carrés de ses chiffres.

- Répétez le processus jusqu'à ce que le nombre soit égal à 1 (où il restera), ou qu'il boucle sans fin dans un cycle qui n'inclut pas 1.

- Les nombres pour lesquels ce processus se termine par 1 sont heureux.

Renvoie vrai si n est un nombre heureux, et faux sinon.

Implémentez une fonction isHappy(n: int) -> bool.

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

Exemples

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?
Pensez à utiliser des structures de données spécifiques aux mathématiques et à la géométrie, comme des ensembles ou des tas.
Edge Cases to Watch
  • Structures d'entrée vides
  • Entrées à élément unique
  • Grandes limites numériques

Prêt à résoudre ?

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

Ouvrir dans l'éditeur
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

Ressources Python recommandées

Développez vos connaissances avec des didacticiels interactifs, des aide-mémoire et des comparaisons de codes associés.