책 내용 질문하기
Section 009 소수의 개수 구하기
도서
[2013] 정보처리기능사 실기
페이지
64
조회수
336
작성일
2013-06-28
작성자
첨부파일

안녕하세요

알고리즘이 복잡해서 이해하기가 힘들지만 시나공 교재덕분에 이해를 조금씩 하고 있다고 생각을 하고 잇엇는데

009의 소수의 개수구하기는 아무리보고 연구해도 이해가 안가네요.

실은 원리를 이해하지 못하고 있습니다.

(알고리즘 이해)를 보면 A(10)2,3,4,5,6,7,8,9,10,11를배열 하였을때

아무 조건/처리없이 2,3,0,5,0,7,0,9,0,11이 되였지요?

설명부탁드립니다

고맙습니다

답변
2013-06-28 09:21:50

안녕하세요.

소수란 1과 자기 자신만을 약수로 가지는 수를 의미합니다.

2는 소수입니다. 하지만 이후 2로 나눠지는 값들은 소수가 아니죠. 2, 4, 6, 8, 10, 12 ... 즉 소수의 배수는 소수가 아니라는 의미입니다.

이 원리를 이용해 소수가 구해지면 그 소수의 배수가 저장되는 위치에 0을 기억시켜 그 위치의 값이 0이면 소수가 아니고 0이 아니면 소수로 인식하게 하는 원리입니다.

첫번째 배열의 값 2는 소수입니다. 2가 소수이므로 2의 배수인 2, 4, 6, 8, 10이 들어있는 배열의 위치에 0을 기억시킵니다.

그래서 2 3 0 5 0 7 0 9 0 11이 되는 것이죠. 즉 4, 6, 8, 10이 있는 위치에 0이 저장된 것입니다.

다음은 3이 소수이므로 3의 배수 위치인 6, 9가 있는 위치에 0을 저장하여

2 3 0 5 0 7 0 0 0 11이 되는 것이구요.

이러한 원리가 적용된다는 것을 염두에 두고 순서도를 차분히 디버깅 해 보세요.

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

"
  • *
    2013-06-28 09:21:50

    안녕하세요.

    소수란 1과 자기 자신만을 약수로 가지는 수를 의미합니다.

    2는 소수입니다. 하지만 이후 2로 나눠지는 값들은 소수가 아니죠. 2, 4, 6, 8, 10, 12 ... 즉 소수의 배수는 소수가 아니라는 의미입니다.

    이 원리를 이용해 소수가 구해지면 그 소수의 배수가 저장되는 위치에 0을 기억시켜 그 위치의 값이 0이면 소수가 아니고 0이 아니면 소수로 인식하게 하는 원리입니다.

    첫번째 배열의 값 2는 소수입니다. 2가 소수이므로 2의 배수인 2, 4, 6, 8, 10이 들어있는 배열의 위치에 0을 기억시킵니다.

    그래서 2 3 0 5 0 7 0 9 0 11이 되는 것이죠. 즉 4, 6, 8, 10이 있는 위치에 0이 저장된 것입니다.

    다음은 3이 소수이므로 3의 배수 위치인 6, 9가 있는 위치에 0을 저장하여

    2 3 0 5 0 7 0 0 0 11이 되는 것이구요.

    이러한 원리가 적용된다는 것을 염두에 두고 순서도를 차분히 디버깅 해 보세요.

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

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