Thuật toán đệ qui dưới đây tính:
Function Tesr(n:integer): integer;
Begin
If n<=2 then Test:=1
Else Test: = Test (n-1) + Test (n-2);
End;
Trả lời:
Đáp án đúng: B
Đoạn code đệ quy cho hàm `Test(n)` được định nghĩa như sau:
- Nếu `n <= 2`, hàm trả về 1.
- Ngược lại, hàm trả về tổng của `Test(n-1)` và `Test(n-2)`.
Đây chính là định nghĩa của dãy số Fibonacci, với hai số đầu tiên là F(1) = 1 và F(2) = 1. Số Fibonacci thứ n được tính bằng tổng của hai số Fibonacci trước đó: F(n) = F(n-1) + F(n-2).
Các phương án khác không phù hợp vì:
- A. Tổng n số tự nhiên đầu tiên: Công thức là n*(n+1)/2, không phải là đệ quy như trên.
- C. Số nguyên tố thứ n: Không có mối liên hệ với đoạn code đã cho.
- D. Tổng hai số nguyên liên tiếp n và n-1: Cũng không liên quan đến đoạn code đệ quy.
Vì vậy, đáp án chính xác là B: Số Fibonacci thứ n.





