Kết quả của thuật toán dưới đây:
Procedure Test (n:integer);
Begin
If (n>0) and (n<10) then Write(n)
If n>=10 then begin
Write(n mod 10);
Test (n div 10);
End;
End;
Trả lời:
Đáp án đúng: B
Thuật toán `Test(n)` thực hiện in ra các chữ số của `n` theo thứ tự ngược lại nếu `n` lớn hơn hoặc bằng 10. Nếu `n` nhỏ hơn 10 và lớn hơn 0, nó in ra chính `n`.
Ví dụ:
- Nếu `n = 123`, thuật toán sẽ in ra:
- `3` (từ `123 mod 10`)
- Sau đó gọi `Test(12)`
- `2` (từ `12 mod 10`)
- Sau đó gọi `Test(1)`
- `1` (vì `1 > 0` và `1 < 10`)
Vậy kết quả in ra là `321`.
- Nếu `n = 5`, thuật toán sẽ in ra `5` (vì `5 > 0` và `5 < 10`).
Như vậy, thuật toán in ra các chữ số của `n` theo thứ tự đảo ngược.





