Mô tả bài toán
Minh họa đệ quy cơ bản: hàm gọi chính nó với tham số giảm dần đến điều kiện dừng.
Ví dụ minh họa
function recursiveFunction(num) {
console.log(num);
if (num > 0) {
recursiveFunction(num - 1);
}
}
recursiveFunction(5);
Kết quả
5 4 3 2 1 0
Giải thích
- Base case: num <= 0 (dừng đệ quy)
- Recursive case: in num, gọi lại với num-1
- Call stack: recursiveFunction(5) → ... → recursiveFunction(0) → return → unwind
Lưu ý
JS không tối ưu tail call (trừ strict mode một số engine). Đệ quy sâu gây stack overflow. Dùng vòng lặp cho production.