Cho đoạn chương trình sau:
public class Test {
public static void main(String[] args) {
int k,n;
for (k=1;k<20;k++) {
if ((k%3==0) && (k%6==0))
System.out.print(k+” “);
}
}
}
Đoạn chương trình trên in ra kết quả bao nhiêu?
20;k++)>
Trả lời:
Đáp án đúng: A
Đoạn chương trình sử dụng một vòng lặp `for` để duyệt các số từ 1 đến 19. Bên trong vòng lặp, có một câu lệnh `if` kiểm tra xem số hiện tại `k` có chia hết cho 3 VÀ chia hết cho 6 hay không. Nếu cả hai điều kiện đều đúng, số `k` sẽ được in ra màn hình kèm theo một khoảng trắng.
Để xác định kết quả, ta xét các số từ 1 đến 19:
- k = 1: 1 % 3 != 0
- k = 2: 2 % 3 != 0
- k = 3: 3 % 3 == 0, nhưng 3 % 6 != 0
- k = 4: 4 % 3 != 0
- k = 5: 5 % 3 != 0
- k = 6: 6 % 3 == 0 và 6 % 6 == 0. In ra 6.
- k = 9: 9 % 3 == 0, nhưng 9 % 6 != 0
- k = 12: 12 % 3 == 0 và 12 % 6 == 0. In ra 12.
- k = 15: 15 % 3 == 0, nhưng 15 % 6 != 0
- k = 18: 18 % 3 == 0 và 18 % 6 == 0. In ra 18.
Vậy, đoạn chương trình sẽ in ra: 6 12 18