문제 10 · while·continue와 6의 배수 합
문제 10 [2점]
아래 코드의 num, sum은 어떤 값을 갖는지 쓰시오.
cpp
int num = 0, sum = 0;
while (num < 20) {
num++;
if (!((num % 2 == 0) && (num % 3 == 0)))
continue;
sum += num;
}풀이 및 해설
조건 (num % 2 == 0) && (num % 3 == 0)은 "2로도 3으로도 나누어떨어진다", 즉 6의 배수라는 뜻입니다. 앞에 !가 붙어 있으므로
- 6의 배수가 아니면 →
continue(합산 건너뜀) - 6의 배수이면 →
sum += num
num은 1부터 20까지 증가하며, 그중 6의 배수는 6, 12, 18 입니다.
반복은 num이 20이 되어 num < 20이 거짓이 될 때 끝나므로 num = 20 입니다.