Arithmétique

Factorielle récursive

Énoncé

Lire N entre 0 et 18 et écrire une fonction récursive utilisant N! = N × (N − 1)!, avec 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

factorielle_recursive.algo
1algorithme factorielle_recursive
2debut
3 repeter
4 ecrire("N = ")
5 lire(n)
6 jusqua 0 ≤ n ≤ 18
7 // compléter le traitement demandé dans l’énoncé.
8fin
9
10fonction factorielle(n : entier) : entier
11debut
12 // compléter le traitement demandé dans l’énoncé.
13 retourner 1
14fin

Méthode

  1. Retourner 1 pour N = 0.
  2. Sinon, retourner N multiplié par l’appel sur N − 1.
À retenir :

La fonction s’appelle elle-même : c’est la récursivité. Pour 3, elle calcule 3 × Factorielle(2), puis 2 × Factorielle(1), puis 1 × Factorielle(0). Le cas N = 0 retourne 1 et arrête les appels. L’exercice « Factorielle » propose la version avec une boucle.