제목: 극대수에서 한번에 소수 찾기
필명: 유전
위 링크의 글에서 이어지는 내용입니다.
소수는 그 끝자리가 1, 3, 7, 9에서만 발견되고 있습니다. 그런데 오일러의 답(파이 제곱 엑스 / 6)에 따라 10이 넘는 수열에서는 나누기 6대신에 6의 배수인 나누기 12를 했을 때 나머지의 값이 1, 5, 7, 11인 경우에만 소수가 자리합니다. 따라서 극대수의 수열이라도 그 끝자리가 1, 3, 7, 9로 끝나는 수만을 먼저 찾고 다시 " 12제곱 X "로 나누었을 때 나머지의 수가 1, 5, 7, 11로 끝나지 않는다면 소수가 아니라고 정의하겠습니다.
예를 들어, 31, 33, 37, 39에서 31은 7, 33은 9, 37은 1, 39는 3이 남기 때문에 이 중에서 1, 5, 7, 11 중에 속한 31과 37은 소수이고 33과 39는 소수가 아닙니다.
---
유전 2017.03.27. 19:33
위와 같은 현상이 발생하는 원인을 가장 간단히 설명하자면, 10진법의 수열을 12진법으로 나누었을 때 그 나머지의 값이 1부터 12(36 = 24 + 나머지 12)까지 있을 수 있는데 그 나머지의 값이 3진법에 수렴되는 3, 6, 9, 12라면 당연히 소수가 될 수 없고 2, 4, 6, 8, 10, 12의 나머지 값은 12+2, 12+4, 12+6...등과 같이 역시나 짝수여서 처음부터 짝수를 배제한 알고리즘의 시작과 함께 1, 5, 7, 11로 남는 수는 2의 배수인 짝수가 아니며 3으로도 나누어지지 않는 소수일 가능성만 남습니다.
따라서 처음부터 2와 3의 배수로 소수를 찾는 일이 불필요하고 5의 배수도 배제된 10진법의 1, 3, 7, 9로 끝나는 수에서 12로 나누었을 때 그 나머지의 값이 1, 5, 7, 11에 해당되는 수만 7, 11, 13, 17... 등의 소수로 나누어질 수 있는지의 여부만 확인하는 알고리즘을 짠다면 한번에 모든 소수를 차례대로 가장 빠르게 찾을 수 있게 됩니다.
---