책 내용 질문하기
정보처리산업기사 실기 1과목 1권 76쪽 문제 3번
도서
2020 시나공 정보처리산업기사 실기 [기본서]
페이지
76
조회수
259
작성일
2020-08-27
작성자
탈퇴*원
첨부파일
i = 1일 때 왜 hap = 12가 되는건지 이해가 안됩니다.
i = 1일 때는 while (i > 1) 조건에 의해서 반복이 멈춰지고 printf("%d\n", hap); 문으로 가서 종료되므로
답은 11이라고 생각했는데, 어떤 부분이 잘못된건지 모르겠습니다.
감사합니다.
코로나 조심하시고 건강하세요!
답변
2020-08-28 10:54:42
안녕하세요 길벗수험서 운영팀입니다.
알고리즘의 전체적인 흐름도 중요하지만 순차적으로 진행된다는 것 또한 염두에 두셔야 합니다.
i가 1이 되는 시점이 언제인지 파악해보세요.
i가 2인 시점에 while (i>1)이 참이 되어 다음 줄로 갑니다.
i--를 만나 i는 1이되고
if(i%3==1)에서 참이 되고
hap += i에서 hap은 1(i)이 더해져 12가 됩니다.
다시 while(i>1)에서 i는 1이니 거짓이 되어 while문을 벗어나 printf문으로 가게 되죠.
행복한 하루되세요 :)
-
관리자2020-08-28 10:54:42
안녕하세요 길벗수험서 운영팀입니다.
알고리즘의 전체적인 흐름도 중요하지만 순차적으로 진행된다는 것 또한 염두에 두셔야 합니다.
i가 1이 되는 시점이 언제인지 파악해보세요.
i가 2인 시점에 while (i>1)이 참이 되어 다음 줄로 갑니다.
i--를 만나 i는 1이되고
if(i%3==1)에서 참이 되고
hap += i에서 hap은 1(i)이 더해져 12가 됩니다.
다시 while(i>1)에서 i는 1이니 거짓이 되어 while문을 벗어나 printf문으로 가게 되죠.
행복한 하루되세요 :)