Thuật toán đệ qui dưới đây tính:
Function Test (n:integer):longint;
Begin
If n = 0 then Test:=1
Else Test:= n * Test(n-1);
End
Trả lời:
Đáp án đúng: B
Đoạn code trên định nghĩa một hàm đệ quy `Test(n)`.
* **Trường hợp cơ sở:** Nếu `n = 0`, hàm trả về 1.
* **Bước đệ quy:** Nếu `n > 0`, hàm trả về `n * Test(n-1)`. Điều này có nghĩa là hàm nhân `n` với kết quả của việc gọi chính nó với tham số `n-1`.
Như vậy, hàm này tính tích của các số tự nhiên từ 1 đến `n`, hay còn gọi là `n!` (n giai thừa).
Ví dụ:
* `Test(0)` trả về 1.
* `Test(1)` trả về `1 * Test(0) = 1 * 1 = 1`.
* `Test(2)` trả về `2 * Test(1) = 2 * 1 = 2`.
* `Test(3)` trả về `3 * Test(2) = 3 * 2 = 6`.
* `Test(4)` trả về `4 * Test(3) = 4 * 6 = 24`.
Đáp án đúng là "Tích số của n số tự nhiên đầu tiên."
Bộ 525 câu hỏi trắc nghiệm ôn thi môn Toán rời rạc có đáp án dưới đây sẽ là tài liệu ôn tập hữi ích dành cho các bạn sinh viên. Mời các bạn cùng tham khảo!
30 câu hỏi 60 phút





