JavaScript is required

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;

A.

Đưa ra màn hình thương của n cho 10

B.

Đưa ra màn hình đảo ngược số n

C.

Đưa ra màn hình số dư trong phép chia của n cho 10

D.

Đưa ra màn hình là n nếu n nhỏ hơn 10 và thương của n cho 10 nếu n ≥ 10

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.

Câu hỏi liên quan