책 내용 질문하기
페이지 51쪽 3번 답이 왜 20이 아니고 21인가요?
도서
2016 시나공 정보처리기능사 실기
페이지
51
조회수
158
작성일
2016-05-29
작성자
첨부파일

문제가 2!+3!+4! ... +20! 까지의 결과를 묻는 것이니 i<20 이어야 하는것 아닌가요?

답변
2016-05-30 09:32:47

안녕하세요.

직접 디버깅을 수행해 보면 확인되듯이

i를 증가한 후

i < 21 을 비교하여 YES 인 경우 SUM을 누적하는 실질적인 처리를 수행합니다.

즉 i를 증가한 후 처리한 다는 것이죠.

i가 20일 때까지 처리를 해야 하는데,

i가 20일 때 처리를 한 후 다시 위로 반복되어 i가 21이 된 상태에서 i < 21을 만납니다.

그래서 i가 21일 때는 21보다 작지않으므로 No가 되어 SUM을 출력하고 종료됩니다.

만일 i < 20을 비교하였다면

i가 증가되어 20인 된 상태에서 처리도 되기 전에 종료되므로 19까지만 처리되게 됩니다.

오늘도 즐거운 하루 되세요.

  • *
    2016-05-30 09:32:47

    안녕하세요.

    직접 디버깅을 수행해 보면 확인되듯이

    i를 증가한 후

    i < 21 을 비교하여 YES 인 경우 SUM을 누적하는 실질적인 처리를 수행합니다.

    즉 i를 증가한 후 처리한 다는 것이죠.

    i가 20일 때까지 처리를 해야 하는데,

    i가 20일 때 처리를 한 후 다시 위로 반복되어 i가 21이 된 상태에서 i < 21을 만납니다.

    그래서 i가 21일 때는 21보다 작지않으므로 No가 되어 SUM을 출력하고 종료됩니다.

    만일 i < 20을 비교하였다면

    i가 증가되어 20인 된 상태에서 처리도 되기 전에 종료되므로 19까지만 처리되게 됩니다.

    오늘도 즐거운 하루 되세요.

· 5MB 이하의 zip, 문서, 이미지 파일만 가능합니다.
· 폭언, 욕설, 비방 등은 관리자에 의해 경고없이 삭제됩니다.