Algorithmes Python

Factorielle récursive en Python

La définition n! = n × (n−1)! se termine aux cas 0 et 1.

Qu’est-ce que Factorielle récursive en Python ?

La définition n! = n × (n−1)! se termine aux cas 0 et 1.

Calculer n! avec une fonction récursive.

Quand l’utiliser ?

  • Comprendre les algorithmes et structures de données.
  • Observer chaque étape et traiter les cas limites.
  • Comparer temps d’exécution et mémoire.

Code d’exemple

Exécuter le code →
main.py
def factorial(number):
    if number < 0:
        raise ValueError("Factorial is undefined for negative numbers")
    if number <= 1:
        return 1
    return number * factorial(number - 1)

print(factorial(6))

Résultat attendu

720

Fonctionnement

Chaque appel diminue n ; temps et profondeur de pile O(n).

Modifiez les valeurs et exécutez le programme avec le compilateur Python en ligne CodeUtility, sans installation locale.

Exercices pratiques

Modifiez les entrées et testez les cas limites avant d’utiliser des données plus volumineuses.

  1. Testez une entrée vide, un élément et des doublons.
  2. Affichez l’état après chaque étape.
  3. Comparez les performances avec une autre solution.
Exécuter dans l’IDE Python →