สร้างฟังก์ชัน Recursive
คุณได้เห็นตัวอย่างฟังก์ชันแบบ iterative สำหรับคำนวณ factorial ซึ่งสามารถนิยามในรูปแบบ recursive ได้เช่นกัน ถึงเวลาแล้วที่จะลองนำความรู้เรื่องฟังก์ชัน recursive มาใช้จริง ด้วยการเขียนฟังก์ชันดังกล่าวในแบบ recursive!
เป็นการทบทวน: ฟังก์ชัน "factorial" ซึ่งมักแทนด้วยสัญลักษณ์ ! คือผลคูณของจำนวนเต็มบวกทั้งหมดตั้งแต่ 1 จนถึงค่าที่รับเข้ามา ตัวอย่างเช่น:
- 1! = 1
- 2! = 1 * 2 = 2
- 3! = 1 * 2 * 3 = 6 … และต่อไปเรื่อย ๆ
อย่าลืมว่า 0! มีค่าเท่ากับ 1
ในขั้นตอนแรก ให้เขียน "base case" ของ factorial โดย return ค่าของ n! สำหรับค่าที่น้อยที่สุดที่ factorial ถูกนิยามไว้ จากนั้นในขั้นตอนถัดไป ให้เขียน logic สำหรับเรียกฟังก์ชัน recursive ภายในตัวมันเอง
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
แนวคิดกระบวนทัศน์การเขียนโปรแกรม
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
def recursive_factorial(n):
# Base case -- check base condition
if ____:
# Return appropriate value
return ____