Fattoriale ricorsivo in Python
La definizione n! = n × (n−1)! termina con 0 o 1.
Che cos’è Fattoriale ricorsivo?
La definizione n! = n × (n−1)! termina con 0 o 1.
Calcola n! tramite ricorsione.
Quando si usa?
- Comprendere algoritmi e strutture dati.
- Osservare ogni passaggio e gestire i casi limite.
- Confrontare tempo di esecuzione e memoria.
Codice di esempio
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))
Output previsto
720
Come funziona
Ogni chiamata riduce n; tempo e profondità dello stack O(n).
Modifica i valori ed esegui il programma nel compilatore Python online CodeUtility senza installare Python.
Esercizi pratici
Modifica gli input e verifica i casi limite prima di usare dataset più grandi.
- Prova input vuoto, un elemento e duplicati.
- Stampa lo stato dopo ogni passaggio.
- Confronta le prestazioni con un’altra soluzione.