i가 10부터 시작하여 1보다 큰 동안에는 계속 while 반복문을 돌고 i가 1이 되면 hap이 12가 되서 출력하는 걸로 이해했는데 답지에는 다르게 적혀있는데 답지에 적힌 디버깅이 맞는건가요? 아니면 오류인가요?
안녕하세요.
i는 10을 hap은 0으로 가지고 시작합니다.
while 문은 i가 1보다 큰 동안 반복합니다. 즉 1과 같으면 종료됩니다.
i-- 에 의해 i는 1 감소합니다. i는 9가 됩니다.
i % 3, 즉 9 % 3의 나머지는 0입니다. 그러므로 조건을 만족하지 않습니다.
다시 while문을 반복합니다.
i-- 에 의해 i는 1 감소합니다. i는 8이 됩니다.
i % 3, 즉 8 % 3의 나머지는 2입니다. 그러므로 조건을 만족하지 않습니다.
다시 while문을 반복합니다.
i-- 에 의해 i는 1 감소합니다. i는 7이 됩니다.
i % 3, 즉 7 % 3의 나머지는 1입니다. 조건을 만족하므로 hap에 i를 누적합니다. hap은 7이 됩니다.
다시 while문을 반복합니다.
i-- 에 의해 i는 1 감소합니다. i는 6이 됩니다.
i % 3, 즉 6 % 3의 나머지는 0입니다. 그러므로 조건을 만족하지 않습니다.
다시 while문을 반복합니다.
i-- 에 의해 i는 1 감소합니다. i는 5가 됩니다.
i % 3, 즉 5 % 3의 나머지는 2입니다. 그러므로 조건을 만족하지 않습니다.
다시 while문을 반복합니다.
i-- 에 의해 i는 1 감소합니다. i는 4가 됩니다.
i % 3, 즉 4 % 3의 나머지는 1입니다. 조건을 만족하므로 hap에 i를 누적합니다. hap은 기존 7에 4를 더해 11이 됩니다.
다시 while문을 반복합니다.
i-- 에 의해 i는 1 감소합니다. i는 3이 됩니다.
i % 3, 즉 3 % 3의 나머지는 0입니다. 그러므로 조건을 만족하지 않습니다.
다시 while문을 반복합니다.
i-- 에 의해 i는 1 감소합니다. i는 2가 됩니다.
i % 3, 즉 2 % 3의 나머지는 2입니다. 나눠지는 값이 나누는 값보다 작으면 몫은 0이 되고 나눠지는 값이 그대로 나머지가 됩니다.
나머지가 2이므로 조건을 만족하지 않습니다.
다시 while문을 반복합니다.
i-- 에 의해 i는 1 감소합니다. i는 1이 됩니다.
i % 3, 즉 1 % 3의 나머지는 1입니다. 조건을 만족하므로 hap에 i를 누적합니다. hap은 기존 11에 1을 더해 12가 됩니다.
i가 1이므로 while문을 빠져나온 후 hap을 출력합니다.
출력되는 값은 12가 됩니다.
오늘도 즐거운 하루 되세요.
-
*2018-07-31 09:08:08
안녕하세요.
i는 10을 hap은 0으로 가지고 시작합니다.
while 문은 i가 1보다 큰 동안 반복합니다. 즉 1과 같으면 종료됩니다.i-- 에 의해 i는 1 감소합니다. i는 9가 됩니다.
i % 3, 즉 9 % 3의 나머지는 0입니다. 그러므로 조건을 만족하지 않습니다.
다시 while문을 반복합니다.
i-- 에 의해 i는 1 감소합니다. i는 8이 됩니다.
i % 3, 즉 8 % 3의 나머지는 2입니다. 그러므로 조건을 만족하지 않습니다.
다시 while문을 반복합니다.
i-- 에 의해 i는 1 감소합니다. i는 7이 됩니다.
i % 3, 즉 7 % 3의 나머지는 1입니다. 조건을 만족하므로 hap에 i를 누적합니다. hap은 7이 됩니다.
다시 while문을 반복합니다.
i-- 에 의해 i는 1 감소합니다. i는 6이 됩니다.
i % 3, 즉 6 % 3의 나머지는 0입니다. 그러므로 조건을 만족하지 않습니다.
다시 while문을 반복합니다.
i-- 에 의해 i는 1 감소합니다. i는 5가 됩니다.
i % 3, 즉 5 % 3의 나머지는 2입니다. 그러므로 조건을 만족하지 않습니다.
다시 while문을 반복합니다.
i-- 에 의해 i는 1 감소합니다. i는 4가 됩니다.
i % 3, 즉 4 % 3의 나머지는 1입니다. 조건을 만족하므로 hap에 i를 누적합니다. hap은 기존 7에 4를 더해 11이 됩니다.
다시 while문을 반복합니다.
i-- 에 의해 i는 1 감소합니다. i는 3이 됩니다.
i % 3, 즉 3 % 3의 나머지는 0입니다. 그러므로 조건을 만족하지 않습니다.
다시 while문을 반복합니다.
i-- 에 의해 i는 1 감소합니다. i는 2가 됩니다.
i % 3, 즉 2 % 3의 나머지는 2입니다. 나눠지는 값이 나누는 값보다 작으면 몫은 0이 되고 나눠지는 값이 그대로 나머지가 됩니다.
나머지가 2이므로 조건을 만족하지 않습니다.
다시 while문을 반복합니다.
i-- 에 의해 i는 1 감소합니다. i는 1이 됩니다.
i % 3, 즉 1 % 3의 나머지는 1입니다. 조건을 만족하므로 hap에 i를 누적합니다. hap은 기존 11에 1을 더해 12가 됩니다.
i가 1이므로 while문을 빠져나온 후 hap을 출력합니다.
출력되는 값은 12가 됩니다.
오늘도 즐거운 하루 되세요.