Arithmétique

Nombre parfait

Énoncé

Lire un entier N strictement positif. Tester si N est égal à la somme de ses diviseurs positifs strictement inférieurs à N.

Exemples et cas limites

Saisissez ces valeurs dans la console pour vérifier votre résultat :

Entrée
N = 6
Sortie attendue
Vrai
Entrée
N = 28
Sortie attendue
Vrai
Entrée
N = 12
Sortie attendue
Faux
Entrée
N = 1
Sortie attendue
Faux

Code algorithmique

nombre_parfait.algo
1algorithme nombre_parfait
2debut
3 repeter
4 ecrire("N = ")
5 lire(n)
6 jusqua n > 0
7 // compléter le traitement demandé dans l’énoncé.
8fin

Méthode

  1. Accumuler les diviseurs entre 1 et N DIV 2.
  2. Comparer la somme à N.
À retenir :

Ne pas ajouter N lui-même. Le nombre 1 n’est pas parfait : sa somme de diviseurs propres vaut 0.

Comprendre la correction

Déroulement sur un exemple

  1. Pour N = 6, on teste D de 1 à 3, soit N DIV 2.
  2. 1, 2 et 3 divisent 6. Leur somme vaut 6 : le résultat est Vrai.
  3. Pour 12, les diviseurs propres 1, 2, 3, 4 et 6 totalisent 16. Comme 16 ≠ 12, le résultat est Faux.

Erreurs à éviter

  • N lui-même est exclu de la somme : ce sont les diviseurs propres qui comptent.
  • Initialisez somme à 0 avant les ajouts, y compris pour N = 1.
Consulter le guide de syntaxe algorithmique