책 내용 질문하기
문제 풀이에 어려움이 있어 질문 드립니다.
도서
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의 값이 맞습니다.

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

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