Struktury danych i algorytmy w Pythonie
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) startujefactorial(5) się zakończy -> startuje factorial(4)factorial(4) się zakończy -> startuje factorial(3)
factorial(5) startujefactorial(5) się zakończy -> startuje factorial(4)factorial(4) się zakończy -> startuje factorial(3)factorial(3) się zakończy -> startuje factorial(2)
factorial(5) startujefactorial(5) się zakończy -> startuje factorial(4)factorial(4) się zakończy -> startuje factorial(3)factorial(3) się zakończy -> startuje factorial(2)factorial(2) się zakończy -> startuje factorial(1)
factorial(5) startujefactorial(5) się zakończy -> startuje factorial(4)factorial(4) się zakończy -> startuje factorial(3)factorial(3) się zakończy -> startuje factorial(2)factorial(2) się zakończy -> startuje factorial(1)
factorial(1) kończy działaniefactorial(2) kończy działanie
factorial(1) kończy działaniefactorial(2) kończy działanie
factorial(1) kończy działaniefactorial(2) kończy działaniefactorial(3) kończy działanie
factorial(1) kończy działaniefactorial(2) kończy działaniefactorial(3) kończy działaniefactorial(4) kończy działanie
factorial(1) kończy działaniefactorial(2) kończy działaniefactorial(3) kończy działaniefactorial(4) kończy działaniefactorial(5) kończy działanie
factorial(1) kończy działaniefactorial(2) kończy działaniefactorial(3) kończy działaniefactorial(4) kończy działaniefactorial(5) kończy działanie
Struktury danych i algorytmy w Pythonie