책 내용 질문하기
1권 192페이지
도서
2019 시나공 정보처리기사 실기(산업기사포함)
페이지
192
조회수
268
작성일
2019-06-23
작성자
탈퇴*원
첨부파일

2번답이 왜 A[i]=0인가요??

 

순서도에 뭔가 생략된것같습니다 ㅠㅠㅠ 이거보다가 머리터질것같네요.

A[k-1] = K인데 2부터 100까지 순서대로 차곡차곡 들어가는데

여기서 배열을 건드리지 않고 바로 0인지 묻는게 말이 되지 않습니다...ㅠ 

소수 판별부분이 생략된거같은데 책의 오류인가요?

해설부탁드립니다

답변
2019-06-24 15:16:56

안녕하세요 길벗수험서 운영팀입니다.

 

교재 191쪽의 소수 판별 방법을 참고하시기 바랍니다.

 

앞의 수부터 차례대로 해당 수의 배수를 '0'으로 치환해버리면서 소수를 구하는 알고리즘으로,

a[1]에 2가 저장되어 있다면 배수인 4가 저장되어 있을 a[1+2]을 0으로, 6이 저장된 a[1+4]를 0으로 바꿔가고,

a[2]에 3이 저장되어 있다면 배수인 6이 저장되어 있을 a[2+3]을 0으로, 9가 저장된 a[2+6]을 0으로 바꿔가는 형식이죠.

 

때문에 뒤로 배열이 진행될 때 앞의 수의 배수가 모두 0으로 치환되어 이미 소수가 아님이 입증되었기 때문에 a[i]가 0인지를 확인하여 소수인지 판별한 후 다음 수로 넘어가는 것입니다.

 

앞에서부터 소수의 배수를 모두 0으로 치환해버리면 배열에 소수만이 남게되는 원리를 이용한 것입니다.

 

행복한 하루되세요 :)

  • 관리자
    2019-06-24 15:16:56

    안녕하세요 길벗수험서 운영팀입니다.

     

    교재 191쪽의 소수 판별 방법을 참고하시기 바랍니다.

     

    앞의 수부터 차례대로 해당 수의 배수를 '0'으로 치환해버리면서 소수를 구하는 알고리즘으로,

    a[1]에 2가 저장되어 있다면 배수인 4가 저장되어 있을 a[1+2]을 0으로, 6이 저장된 a[1+4]를 0으로 바꿔가고,

    a[2]에 3이 저장되어 있다면 배수인 6이 저장되어 있을 a[2+3]을 0으로, 9가 저장된 a[2+6]을 0으로 바꿔가는 형식이죠.

     

    때문에 뒤로 배열이 진행될 때 앞의 수의 배수가 모두 0으로 치환되어 이미 소수가 아님이 입증되었기 때문에 a[i]가 0인지를 확인하여 소수인지 판별한 후 다음 수로 넘어가는 것입니다.

     

    앞에서부터 소수의 배수를 모두 0으로 치환해버리면 배열에 소수만이 남게되는 원리를 이용한 것입니다.

     

    행복한 하루되세요 :)

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