JavaScript is required

Kết quả của chương trình sau là gì #include void main() { int a = 40, b = 4; while (a != b) if (a > b) a = a - b; else b = b - a; printf(“ % d”, a); };

A.

2

B.

16

C.

4

D.

Kết quả khác

Trả lời:

Đáp án đúng: C


Đoạn code thực hiện vòng lặp `while` để tìm ước số chung lớn nhất (ƯCLN) của hai số `a` và `b`. Ban đầu, `a = 40` và `b = 4`. Vòng lặp tiếp tục cho đến khi `a` bằng `b`. Các bước thực hiện: 1. `a = 40`, `b = 4`. Vì `a > b`, nên `a = a - b = 40 - 4 = 36`. 2. `a = 36`, `b = 4`. Vì `a > b`, nên `a = a - b = 36 - 4 = 32`. 3. `a = 32`, `b = 4`. Vì `a > b`, nên `a = a - b = 32 - 4 = 28`. 4. `a = 28`, `b = 4`. Vì `a > b`, nên `a = a - b = 28 - 4 = 24`. 5. `a = 24`, `b = 4`. Vì `a > b`, nên `a = a - b = 24 - 4 = 20`. 6. `a = 20`, `b = 4`. Vì `a > b`, nên `a = a - b = 20 - 4 = 16`. 7. `a = 16`, `b = 4`. Vì `a > b`, nên `a = a - b = 16 - 4 = 12`. 8. `a = 12`, `b = 4`. Vì `a > b`, nên `a = a - b = 12 - 4 = 8`. 9. `a = 8`, `b = 4`. Vì `a > b`, nên `a = a - b = 8 - 4 = 4`. 10. `a = 4`, `b = 4`. Vì `a == b`, vòng lặp kết thúc. Giá trị của `a` (hoặc `b`) sau khi vòng lặp kết thúc là 4.

Câu hỏi liên quan