Đệ quy trong lập trình là một kỹ thuật – chủ yếu được sử dụng trong các ngôn ngữ lập trình hàm – để chia một vấn đề lớn thành các vấn đề con nhỏ hơn, giống hệt nhau. Đệ quy giúp đơn giản hóa quá trình giải quyết vấn đề bằng cách cho phép biểu diễn lời giải dưới dạng một phiên bản nhỏ hơn của chính vấn đề đó.
1. Ví dụ đầu tiên là hàm đệ quy tính số Fibonacci:
function fibRecursion(n) if n < 0 then error("Invalid number.") return 0 end if n <= 1 then return n else return fibRecursion(n-1) + fibRecursion(n-2) end end
2. Thêm vòng lặp for để in ra dãy số từ vị trí 1 đến 12:
function fibRecursion(n) if n < 0 then error("Invalid number.") return 0 end if n <= 1 then return n else return fibRecursion(n-1) + fibRecursion(n-2) end end for i=1, 12 do print("Số Fibonacci ở vị trí ".. i.. ": ".. fibRecursion(i)) end
Kết quả in ra: “0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144”
Khi chạy chương trình, ta sẽ thấy kết quả đúng như trên.
Chú thích thêm: