Puoi usare la funzione math.factorial()
Definizione iterativa
![]()
Per n=5: 5!=5*4*3*2*1=120
Il fattoriale come funzione di n
def fatt(n):
prod = 1
for i in range(2, n+1):
prod *= i
return prod
n = 5
print(n, fatt(n)) # 5 120
def fatt(n):
prod = 1
i = 2
while(i <= n):
prod *= i
i += 1
return prod
n = 5
print(n, fatt(n)) # 5 120
Definizione ricorsiva
![]()
oppure
![]()
def fatt(n):
if(n <= 1):
return 1
else:
return n*fatt(n-1)
n = 5
print(n, fatt(n)) # 5 120
Con formula
import math
def fatt(n):
return math.sqrt(2*math.pi*n) * (n/math.e)**n