Estruturas de Dados e Algoritmos em Python
Miriam Antona
Software engineer
$n!$
$n!=n$ · $(n-1)$ · $(n-2)$ · $...$ · $1$
$5!=$ $5$ · $4$ · $3$ · $2$ · $1=120$
def factorial(n):
result = 1
while n > 1:
result = n * result
n -= 1
return result
factorial(5)
120
$n!= n$ · $(n-1)!$
def factorial_recursion(n):
return n * factorial_recursion(n-1)
def factorial_recursion(n): if n == 1:return 1else:return n * factorial_recursion(n-1)
print(factorial_recursion(5))
120
factorial(5) iniciafactorial(5) terminar -> factorial(4) iniciafactorial(4) terminar -> factorial(3) inicia
factorial(5) iniciafactorial(5) terminar -> factorial(4) iniciafactorial(4) terminar -> factorial(3) iniciafactorial(3) terminar -> factorial(2) inicia
factorial(5) iniciafactorial(5) terminar -> factorial(4) iniciafactorial(4) terminar -> factorial(3) iniciafactorial(3) terminar -> factorial(2) iniciafactorial(2) terminar -> factorial(1) inicia
factorial(5) iniciafactorial(5) terminar -> factorial(4) iniciafactorial(4) terminar -> factorial(3) iniciafactorial(3) terminar -> factorial(2) iniciafactorial(2) terminar -> factorial(1) inicia
factorial(1) terminafactorial(2) termina
factorial(1) terminafactorial(2) termina
factorial(1) terminafactorial(2) terminafactorial(3) termina
factorial(1) terminafactorial(2) terminafactorial(3) terminafactorial(4) termina
factorial(1) terminafactorial(2) terminafactorial(3) terminafactorial(4) terminafactorial(5) termina
factorial(1) terminafactorial(2) terminafactorial(3) terminafactorial(4) terminafactorial(5) termina
Estruturas de Dados e Algoritmos em Python