JavaScript is required

Cho đoạn chương trình sau:

public class Test {

public static void main(String[] args) {

int n,k,dem;

for ( k = 1; k <= 10; k++ ) {

dem = 0;

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

if ( k%n==0) {

dem++;

}

if (dem > 1)

System.out.print(k);

}

}

}

}

Đoạn chương trình trên cho kết quả là bao nhiêu?

A.

A.Chương trình báo lỗi

B.

B.468910

C.

C.8910

D.

D.68910

Trả lời:

Đáp án đúng: A


Đoạn chương trình này in ra các số từ 1 đến 10 (vòng lặp `k`) nếu số đó có nhiều hơn một ước số trong khoảng từ 2 đến chính nó (vòng lặp `n`). * **k = 1:** Vòng lặp `n` không chạy vì `n` bắt đầu từ 2 và `2 <= k` là sai. Không in gì. * **k = 2:** Vòng lặp `n` chạy một lần với `n = 2`. `k % n == 0` (2 % 2 == 0) nên `dem++`, `dem` trở thành 1. `dem > 1` là sai. Không in gì. * **k = 3:** Vòng lặp `n` chạy với `n = 2` và `n = 3`. Với `n = 2`, `k % n != 0`. Với `n = 3`, vòng lặp không chạy vì điều kiện `n<=k` đã vi phạm ngay từ đầu. `dem` vẫn là 0. `dem > 1` là sai. Không in gì. * **k = 4:** Vòng lặp `n` chạy với `n = 2`, `n = 3` và `n = 4`. * `n = 2`: `4 % 2 == 0`, `dem++`, `dem = 1`. * `n = 3`: `4 % 3 != 0`. * `n = 4`: `4 % 4 == 0`, `dem++`, `dem = 2`. `dem > 1` là đúng. In ra 4. * **k = 5:** Vòng lặp `n` chạy từ 2 đến 5. `dem` chỉ tăng khi `n` là 5 (5 % 5 == 0), vậy `dem` là 1. Không in gì. * **k = 6:** Vòng lặp `n` chạy từ 2 đến 6. * `n = 2`: `6 % 2 == 0`, `dem = 1`. * `n = 3`: `6 % 3 == 0`, `dem = 2`. `dem > 1` là đúng. In ra 6. * **k = 7:** Vòng lặp `n` chạy từ 2 đến 7. `dem` chỉ tăng khi `n` là 7, vậy `dem` là 1. Không in gì. * **k = 8:** Vòng lặp `n` chạy từ 2 đến 8. * `n = 2`: `8 % 2 == 0`, `dem = 1`. * `n = 3`: `8 % 3 != 0`. * `n = 4`: `8 % 4 == 0`, `dem = 2`. `dem > 1` là đúng. In ra 8. * **k = 9:** Vòng lặp `n` chạy từ 2 đến 9. * `n = 2`: `9 % 2 != 0`. * `n = 3`: `9 % 3 == 0`, `dem = 1`. * `n = 4`: vòng lặp không chạy vì điều kiện `n<=k` đã vi phạm ngay từ đầu. * `n = 9`: `9 % 9 == 0`, `dem = 2`. `dem > 1` là đúng. In ra 9. * **k = 10:** Vòng lặp `n` chạy từ 2 đến 10. * `n = 2`: `10 % 2 == 0`, `dem = 1`. * `n = 3`: `10 % 3 != 0`. * `n = 4`:`10 % 5 != 0`. * `n = 5`: `10 % 5 == 0`, `dem = 2`. * `n = 10`: `10 % 10 == 0`, `dem = 3`. `dem > 1` là đúng. In ra 10. Vậy, kết quả là 468910

Câu hỏi liên quan