책 내용 질문하기
문제 풀이에 어려움이 있어 질문 드립니다.
도서
2018 시나공 정보처리기사 실기(산업기사 포함)
페이지
257
조회수
102
작성일
2018-03-17
작성자
탈퇴*원
첨부파일
문제 7번을 보면
isprome함수에서 number가 2일때 답안을 보면
if(number%1==0)을 실행해서 0을 반환한다고 하는데, i=2, number=2라서 제한되지 않나요?
for문에서 초기값은 부여된 범위에 초가되도 실행되는 것인가요?
그리고 문제에서는 소수의 개수를 구하라고 하는데
2는 소수인데 왜 디버깅에서 0으로 표시된건가요?
답변
2018-03-20 11:47:31
안녕하세요.
학습에 불편을 드려 죄송합니다.
number가 2일 때 for문은 수행되지 않습니다.
그러므로 1이 반환되어
i가 2일 때 cnt는 1이 됩니다. 즉 2도 소수이므로 cnt에 1이 누적됩니다.
이후 디버깅표의 cnt값은
i가 2일 1
i가 3일 때 2
i가 4일 때 2
i가 5일 때 3
i가 6일 때 3
으로 변경되어야 하며
이후 i가 7일 때 부터는 cnt의 값이 맞습니다.
오늘도 즐거운 하루 되세요.
-
*2018-03-20 11:47:31
안녕하세요.
학습에 불편을 드려 죄송합니다.
number가 2일 때 for문은 수행되지 않습니다.
그러므로 1이 반환되어
i가 2일 때 cnt는 1이 됩니다. 즉 2도 소수이므로 cnt에 1이 누적됩니다.
이후 디버깅표의 cnt값은
i가 2일 1
i가 3일 때 2
i가 4일 때 2
i가 5일 때 3
i가 6일 때 3
으로 변경되어야 하며
이후 i가 7일 때 부터는 cnt의 값이 맞습니다.
오늘도 즐거운 하루 되세요.