답을 보고 디버깅을 해도 이해가 안가네요
좀 더 쉽게 풀어서 설명해 주셨으면 좋겠습니다.
안녕하세요.
EVEN = 0
ODD = 0
K = 0
G = 0
S = -1
J = 1
K=INT(J/2)*2, K = 0, J가 1인데, K는 0, 즉 원래의 수 1보다 1이 작으므로 홀수이다.
S = 1, 초기값 -1에 -1을 곱하므로 1
G = J*S, G = 1
K와 J를 비교하여 K와 J가 같으면, 즉 짝수이면 ⑧번으로 가서 EVEN에 짝수값을 누적하고
다르면, 즉 홀수이면 ⑨번으로 가서 ODD에 홀수값을 누적한다.
이어서 다음 값을 홀짝 판별하기 위해 J를 1증가시킨다.
J<=100, 즉 J가 100보다 작거나 같으면 홀짝 판별을 계속 수행하기 위해 ④번으로 간다.
아니면 홀짝 판별이 완료된 것이므로 EVEN과 ODD를 출력하고 종료한다.
이 알고리즘에서의 핵심은 ④번에서 K를 구할 때 어떤 정수를 2로 나눈 몫에 다시 2를 곱한 경우 원래의 수와 같으면 짝수이고
원래의 수보다 1이 작으면 홀수라는 원리를 이용한 것입니다.
위 내용을 염두에 두고 다시 한 번 디버깅을 수행하면서 각 변수의 값 변화를 살펴보세요.
오늘도 즐거운 하루 되세요.
-
*2016-06-14 09:16:45
안녕하세요.
EVEN = 0
ODD = 0
K = 0
G = 0
S = -1
J = 1
K=INT(J/2)*2, K = 0, J가 1인데, K는 0, 즉 원래의 수 1보다 1이 작으므로 홀수이다.
S = 1, 초기값 -1에 -1을 곱하므로 1
G = J*S, G = 1
K와 J를 비교하여 K와 J가 같으면, 즉 짝수이면 ⑧번으로 가서 EVEN에 짝수값을 누적하고
다르면, 즉 홀수이면 ⑨번으로 가서 ODD에 홀수값을 누적한다.
이어서 다음 값을 홀짝 판별하기 위해 J를 1증가시킨다.
J<=100, 즉 J가 100보다 작거나 같으면 홀짝 판별을 계속 수행하기 위해 ④번으로 간다.
아니면 홀짝 판별이 완료된 것이므로 EVEN과 ODD를 출력하고 종료한다.
이 알고리즘에서의 핵심은 ④번에서 K를 구할 때 어떤 정수를 2로 나눈 몫에 다시 2를 곱한 경우 원래의 수와 같으면 짝수이고
원래의 수보다 1이 작으면 홀수라는 원리를 이용한 것입니다.
위 내용을 염두에 두고 다시 한 번 디버깅을 수행하면서 각 변수의 값 변화를 살펴보세요.
오늘도 즐거운 하루 되세요.