Puoi usare la funzione math.factorial()
Definizione iterativa
Per n=5:
5! = 5*4*3*2*1 = 120
Il fattoriale come funzione di n
Con for | con while | utilizzo | ||||||
|
|
|
Definizione ricorsiva
oppure
Per N=5
1 2 3 4 5 6 7 8 9 |
5!=5*4! 4!=4*3! 3!=3*2! 2!=2*1! 1!=1 2!=2*1=2 3!=3*2=6 4!=4*6=24 5!=5*24=120 |
Codifica
1 2 3 4 5 |
def fatt(n): if(n == 0) or (n == 1): return 1 else: return n*fatt(n-1) |
Approssimazione
All’aumentare del valore di n il valore del fattoriale diventa astronomico!
Per esempio, .
Se è sufficiente un valore approssimato si può utilizzare la formula di Stirling:
1 |
x=math.sqrt(2*math.pi*n)*(n/math.e)**n |