Énoncé
Lire N entre 0 et 18. Calculer N! par multiplications successives. On définit 0! = 1.
Exemples et cas limites
Saisissez ces valeurs dans la console pour vérifier votre résultat :
Entrée
N = 5
Sortie attendue
120
Entrée
N = 0
Sortie attendue
1
Entrée
N = -1 N = 5
Sortie attendue
120
Code algorithmique
| 1 | algorithme factorielle |
| 2 | debut |
| 3 | repeter |
| 4 | ecrire("N = ") |
| 5 | lire(n) |
| 6 | jusqua 0 ≤ n ≤ 18 |
| 7 | // compléter le traitement demandé dans l’énoncé. |
| 8 | fin |
| 1 | algorithme factorielle |
| 2 | debut |
| 3 | repeter |
| 4 | ecrire("N = ") |
| 5 | lire(n) |
| 6 | jusqua 0 ≤ n ≤ 18 |
| 7 | produit ← 1 |
| 8 | pour i de 2 à n faire |
| 9 | produit ← produit * i |
| 10 | fin_pour |
| 11 | ecrire_nl(produit) |
| 12 | fin |
Méthode
- Initialiser le produit à 1.
- Multiplier par chaque entier de 2 à N.
Comprendre la correction
Déroulement sur un exemple
- Pour N = 5, produit commence à 1.
- Les multiplications par 2, 3, 4 puis 5 donnent 2, 6, 24 puis 120.
- Pour N = 0 ou N = 1, la boucle ne s’exécute pas : produit reste égal à 1.
Erreurs à éviter
- Un produit initialisé à 0 resterait toujours nul. L’élément neutre de la multiplication est 1.
- Une boucle commençant par 0 annulerait aussi le résultat.