책 내용 질문하기
소수의 개수 구하기 플로차트
도서
2019 시나공 정보처리기능사 실기
페이지
65
조회수
239
작성일
2019-06-27
작성자
탈퇴*원
첨부파일

이부분에서 이해가 안되는 부분이 있는데

 

소수가 만약 3이다 5다 하면 3의 배수 5의 배수가 소수는 아니다라는건 알겠는데

 

굳이 계속 순환하면서 돌리면 어차피 컴퓨터가 처리할 순환문이라 생각하니 문제가 소수의 배수를 0으로 만듦으로써 더 복잡해진것 같습니다.

 

이렇게 문제를 복잡하게 만든이유는 출제자의 의도인가요? 아니면 꼭 필요한 과정이기때문에 넣은건가요?

답변
2019-06-27 11:52:55

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

 

실제로 시험에 출제된 적이 있고, 다시 출제될 가능성이 있는 알고리즘이기 때문입니다.

 

알고리즘 문제는 단순히 복잡성의 문제가 아닌 연산 처리 효율의 문제도 포함합니다.

 

소수를 구할 떄 매번 2부터 N의 1/2 또는 제곱근까지 나누면서 나머지가 0인지 확인하는 알고리즘은 우리가 보기에는 간결하지만 소수를 1만개 구하라 또는 10만개 구하라. 라고 해버리면 깊은 고민을 해야합니다.

 

65쪽의 알고리즘은 소수를 구하기 위해 해당 수에 도달했을 때, 0인지 먼저 판단함으로써 0이면 아예 소수 판단을 하지 않고 넘어가므로 연산에 소모되는 자원이 절약됩니다.

 

모든 알고리즘은 처리하는데 걸리는 시간이 어느정도인지, 어떻게 하면 더 효율적으로 빠르게 처리할 수 있는지 말인지 고민할 필요가 있고, 이러한 많은 처리 연산과 알고리즘들이 상용 프로그램과 같은 애플리케이션의 성능을 올리기 위해 사용됩니다.

 

행복한 하루되세요 :) 

  • 관리자
    2019-06-27 11:52:55

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

     

    실제로 시험에 출제된 적이 있고, 다시 출제될 가능성이 있는 알고리즘이기 때문입니다.

     

    알고리즘 문제는 단순히 복잡성의 문제가 아닌 연산 처리 효율의 문제도 포함합니다.

     

    소수를 구할 떄 매번 2부터 N의 1/2 또는 제곱근까지 나누면서 나머지가 0인지 확인하는 알고리즘은 우리가 보기에는 간결하지만 소수를 1만개 구하라 또는 10만개 구하라. 라고 해버리면 깊은 고민을 해야합니다.

     

    65쪽의 알고리즘은 소수를 구하기 위해 해당 수에 도달했을 때, 0인지 먼저 판단함으로써 0이면 아예 소수 판단을 하지 않고 넘어가므로 연산에 소모되는 자원이 절약됩니다.

     

    모든 알고리즘은 처리하는데 걸리는 시간이 어느정도인지, 어떻게 하면 더 효율적으로 빠르게 처리할 수 있는지 말인지 고민할 필요가 있고, 이러한 많은 처리 연산과 알고리즘들이 상용 프로그램과 같은 애플리케이션의 성능을 올리기 위해 사용됩니다.

     

    행복한 하루되세요 :) 

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