c언어 구현 프로그램 문제를 해설을 봐도 모르겠어요..
flow chart로 그려 주시면 안되나요?
안녕하세요.
코드는 코드 형태로 문제가 제시되므로 코드 형태로 이해하는 것이 가장 효과적입니다.
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-04-25 09:31:22
안녕하세요.
코드는 코드 형태로 문제가 제시되므로 코드 형태로 이해하는 것이 가장 효과적입니다.
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-04-25 10:14:28
제가 계속 플로우 차트에 집착하니깐 안풀렸나봐요 ㅠㅠ 감사합니다.
이해 완료요!