Datové struktury a algoritmy v Pythonu
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) začínáfactorial(5) -> začíná factorial(4)factorial(4) -> začíná factorial(3)
factorial(5) začínáfactorial(5) -> začíná factorial(4)factorial(4) -> začíná factorial(3)factorial(3) -> začíná factorial(2)
factorial(5) začínáfactorial(5) -> začíná factorial(4)factorial(4) -> začíná factorial(3)factorial(3) -> začíná factorial(2)factorial(2) -> začíná factorial(1)
factorial(5) začínáfactorial(5) -> začíná factorial(4)factorial(4) -> začíná factorial(3)factorial(3) -> začíná factorial(2)factorial(2) -> začíná factorial(1)
factorial(1) končífactorial(2) končí
factorial(1) končífactorial(2) končí
factorial(1) končífactorial(2) končífactorial(3) končí
factorial(1) končífactorial(2) končífactorial(3) končífactorial(4) končí
factorial(1) končífactorial(2) končífactorial(3) končífactorial(4) končífactorial(5) končí
factorial(1) končífactorial(2) končífactorial(3) končífactorial(4) končífactorial(5) končí
Datové struktury a algoritmy v Pythonu