JavaScript is required

Cho đoạn mã sau kết quả hiển thị sẽ là:

int n=12,k=2;

while(k

for(k=2;k<=n;k++)

if(n%k==2){

{

System.out.print(k + “ “);

n=n/k;

break;

}

}

}

A.

A.2 2 3

B.

B.3 2 2

C.

C.5

D.

D.2 3 6

Trả lời:

Đáp án đúng: C


Đoạn mã Java này có một vòng lặp `while` bên ngoài và một vòng lặp `for` bên trong. Ta sẽ theo dõi giá trị của `n` và `k` trong quá trình thực thi: 1. **Khởi tạo:** `n = 12`, `k = 2` 2. **Vòng lặp `while` (k < n):** Điều kiện `2 < 12` đúng, nên vòng lặp `while` được thực thi. 3. **Vòng lặp `for` (k = 2; k <= n; k++):** - `k = 2`: Kiểm tra `n % k == 2` (tức là `12 % 2 == 2`). Điều này sai (vì `12 % 2 == 0`). - `k = 3`: Kiểm tra `n % k == 2` (tức là `12 % 3 == 2`). Điều này sai (vì `12 % 3 == 0`). - `k = 4`: Kiểm tra `n % k == 2` (tức là `12 % 4 == 2`). Điều này sai (vì `12 % 4 == 0`). - `k = 5`: Kiểm tra `n % k == 2` (tức là `12 % 5 == 2`). Điều này đúng! - In ra `k` (tức là 5). - `n` được gán bằng `n / k` (tức là `n = 12 / 5 = 2` - vì là số nguyên nên kết quả là 2). - `break`: Thoát khỏi vòng lặp `for`. 4. **Quay lại vòng lặp `while` (k < n):** Điều kiện `2 < 2` là sai. Do đó, vòng lặp `while` kết thúc. Vậy, kết quả in ra là 5.

Câu hỏi liên quan