Recursion คือฟังก์ชันเรียกตัวเอง ต้องมี base case เพื่อหยุด recursion ไม่งั้นจะ infinite loop
ตัวอย่าง: ผลรวม n จำนวนแรก
def sum_n(n):
if n == 0:
return 0
else:
return n + sum_n(n - 1)
print(sum_n(100)) # 5050
print(sum_n(500)) # 125250
Base case: n == 0 Recursive step: n + sum_n(n-1) ลดปัญหาลงทีละขั้น