Énoncé
Lire un entier à trois chiffres. Tester s’il est égal à la somme des cubes de ses chiffres, comme 153 = 1³ + 5³ + 3³.
Exemples et cas limites
Saisissez ces valeurs dans la console pour vérifier votre résultat :
Entrée
N = 153
Sortie attendue
Vrai
Entrée
N = 370
Sortie attendue
Vrai
Entrée
N = 123
Sortie attendue
Faux
Entrée
N = 99 N = 153
Sortie attendue
Vrai
Code algorithmique
| 1 | algorithme nombre_armstrong |
| 2 | debut |
| 3 | repeter |
| 4 | ecrire("N = ") |
| 5 | lire(n) |
| 6 | jusqua 100 ≤ n ≤ 999 |
| 7 | // compléter le traitement demandé dans l’énoncé. |
| 8 | fin |
| 1 | algorithme nombre_armstrong |
| 2 | debut |
| 3 | repeter |
| 4 | ecrire("N = ") |
| 5 | lire(n) |
| 6 | jusqua 100 ≤ n ≤ 999 |
| 7 | reste ← n |
| 8 | somme ← 0 |
| 9 | tant_que reste > 0 faire |
| 10 | chiffre ← reste mod 10 |
| 11 | somme ← somme + chiffre * chiffre * chiffre |
| 12 | reste ← reste div 10 |
| 13 | fin_tant_que |
| 14 | ecrire_nl(somme = n) |
| 15 | fin |
Méthode
- Extraire chaque chiffre avec MOD 10.
- Additionner les cubes puis comparer au nombre original.
Comprendre la correction
Déroulement sur un exemple
- Pour N = 153, reste MOD 10 extrait d’abord 3. Son cube vaut 27 ; reste DIV 10 laisse 15.
- On extrait ensuite 5 puis 1. La somme devient 27 + 125 + 1 = 153.
- La somme est égale au N d’origine : 153 est un nombre d’Armstrong à trois chiffres.
Erreurs à éviter
- Conservez N et modifiez une copie. La comparaison finale doit utiliser 153, pas le reste devenu 0.
- On additionne les cubes des chiffres, pas les chiffres eux-mêmes.