강의로 돌아가기
엄상우

효율성 테스트를 위한 조그마한 조언

일단 저는 효율성 테스트는 통과했습니다. 아마도 정수론에 대해서 공부하지 않으면 쉽게 생각하기 힘들 수 있습니다.

일단 여기서는 간단히 3가지 수학 정리만 소개하겠습니다.

  1. 1보다 큰 모든 자연수는 소수의 곱으로 이루어져 있다.
    이것은 가장 기본적인 정리입니다. 이 정리가 의미하는 바는 무엇일까요? 대부분의 사람들은 소수를 구하기 위해서 2부터 차례대로 증가시켜서 나누어보는 방법을 이용할 것 입니다. 그러나 이 방식은 굉장히 비효율적인입니다. 그렇지만 1보다 큰 자연수는 소수의 곱으로 이루어져 있기 때문에 소수로만 나누면 됩니다. 예를 들어서, 10이 소수인지 아닌지를 알기 위해서 10보다 작은 소수만을 이용하면 됩니다. 실제로 10보다 작은 소수는 4개입니다. 그러니깐 4개만 이용하면 됩니다. 그리고 100이 소수인지 아닌지를 알기 위해서 99개의 자연수를 모두 이용한 것 대신에 25개의 소수만 이용하면 됩니다.

  2. 어떤 자연수 n이 있을 때, √n 보다 작은 모든 소수들로 나누어 떨어지지 않으면 n은 소수입니다.
    언뜻 이해하기 힘들겠지만 한 번 이해하면 쉽습니다. 증명을 생략하고 예를 들겠습니다. 먼저 101이 소수인지 아닌지 판별하기 위해서 우리는 √101을 구하면 10.xxx이 됩니다. 자 10보다 작은 소수는 뭐가 있을까요? 일단 2, 3, 5, 7이 있습니다. 그런데 딱 봐도 이 4개의 소수로만 101이 나누어 떨어지지 않습니다. 그러므로 101소수입니다. 위의 방식을 이용하면 25개의 소수를 모두 이용해야 하지만 지금은 4개만 이용해도 쉽게 계산이 됩니다.

  3. 2보다 큰 모든 짝수는 어차피 합성수입니다. 어차피 2로 나누어 떨어지기 때문이죠. 이 방식은 사용하지 않았습니다. 저는 위의 2가지 방식만을 이용해서 효율성 테스트를 통과했습니다.

  • hyejeong-kim

    👍

    hyejeong-kim―2021.11.03 17:07
  • 허도영

    좋네요

    허도영―2021.11.22 16:30
  • zoossone

    👍

    zoossone―2021.12.16 16:51
  • 현은

    감삼다 ~

    현은―2022.01.04 20:37
  • 박수민

    굿굿 감사합니다

    박수민―2022.01.14 22:06
  • 유영탁

    감사합니다 덕분에 발 쭉펴고 잠 잘 수 있어요 ㅠㅠㅠ

    유영탁―2022.01.24 17:53
  • 이성현

    👍

    이성현―2022.03.11 18:16
  • 유병수

    정말 감사합니다 ㅠㅠ

    유병수―2022.03.14 21:55
  • Hamsu100

    와 1번은 어떻게 어떻게 생각했는데 2번은 생각지도 못했네

    Hamsu100―2022.05.13 19:02
  • 길지문

    도움 많이 됐습니다. 감사합니다~!

    길지문―2022.06.03 10:49
  • jws1837

    3번은 생각했는데, 1,2는 생각못했네요. 도움받았습니다. 감사합니다.

    jws1837―2022.06.12 19:28
  • Denia-park

    정말 감사합니다. 많은 도움이 되었습니다.

    Denia-park―2022.07.26 22:36
  • kimsaeng

    감사합니다.

    kimsaeng―2022.08.23 19:20
  • 손규성

    감사합니다👍👍👍👍

    손규성―2022.09.28 15:12
  • hhhh

    감사합니다!

    hhhh―2022.11.03 10:42
  • kwon8489@gmail.com

    감사합니다!

    kwon8489@gmail.com―2022.11.22 11:20
  • 한상백

    조언 감사합니다!

    한상백―2023.01.06 11:58
  • 정윤호

    와 진짜 꿀팁이네요ㅣ.. ㅂㄹ탁치고갑니다

    정윤호―2023.03.13 11:51
  • nno3onn

    감사합니다

    nno3onn―2023.04.22 11:56
  • SuhLee

    제곱근으로 푸는데 효율성 테스트 케이스 3개가 통과가 안 돼서 골치 아팠는데, 소수로만 나누면 된다는 건 처음 알았네요 bb 감사합니다!

    SuhLee―2023.10.09 16:31
0 개의 답변
답변 쓰기
이 입력폼은 마크다운 문법을 지원합니다. 마크다운 가이드 를 참고하세요.