โครงสร้างข้อมูลและอัลกอริทึมใน 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) เริ่มทำงานfactorial(5) เสร็จ -> factorial(4) เริ่มทำงานfactorial(4) เสร็จ -> factorial(3) เริ่มทำงาน
factorial(5) เริ่มทำงานfactorial(5) เสร็จ -> factorial(4) เริ่มทำงานfactorial(4) เสร็จ -> factorial(3) เริ่มทำงานfactorial(3) เสร็จ -> factorial(2) เริ่มทำงาน
factorial(5) เริ่มทำงานfactorial(5) เสร็จ -> factorial(4) เริ่มทำงานfactorial(4) เสร็จ -> factorial(3) เริ่มทำงานfactorial(3) เสร็จ -> factorial(2) เริ่มทำงานfactorial(2) เสร็จ -> factorial(1) เริ่มทำงาน
factorial(5) เริ่มทำงานfactorial(5) เสร็จ -> factorial(4) เริ่มทำงานfactorial(4) เสร็จ -> factorial(3) เริ่มทำงานfactorial(3) เสร็จ -> factorial(2) เริ่มทำงานfactorial(2) เสร็จ -> factorial(1) เริ่มทำงาน
factorial(1) เสร็จสิ้นfactorial(2) เสร็จสิ้น
factorial(1) เสร็จสิ้นfactorial(2) เสร็จสิ้น
factorial(1) เสร็จสิ้นfactorial(2) เสร็จสิ้นfactorial(3) เสร็จสิ้น
factorial(1) เสร็จสิ้นfactorial(2) เสร็จสิ้นfactorial(3) เสร็จสิ้นfactorial(4) เสร็จสิ้น
factorial(1) เสร็จสิ้นfactorial(2) เสร็จสิ้นfactorial(3) เสร็จสิ้นfactorial(4) เสร็จสิ้นfactorial(5) เสร็จสิ้น
factorial(1) เสร็จสิ้นfactorial(2) เสร็จสิ้นfactorial(3) เสร็จสิ้นfactorial(4) เสร็จสิ้นfactorial(5) เสร็จสิ้น
โครงสร้างข้อมูลและอัลกอริทึมใน Python