Algoritmi Python

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

Esegui codice →
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.

  1. Prova input vuoto, un elemento e duplicati.
  2. Stampa lo stato dopo ogni passaggio.
  3. Confronta le prestazioni con un’altra soluzione.
Esegui nell’IDE Python →