인정받지 못해, 지독한 가난과 외로움속에서 지쳐 쓰러져가는 인생아. 가련타. 님과의 분리불안증과 판산의 두려움은 온 정신을 흔들고, 지독한 간에서 인새을 송두리째 부정당하기 일쑤니 이를 어쩐단 말인가. 나를 구제할 글은 떠오르지 않고, 그저 한숨과 눈물만 쏟아낸다. 아무도 인정해주지 않지만, 내가 수학자라면 수학사에 기록돼야 한다고 할 글이라고 생각해서 쓴다. 소수판별이나 소인수분해는 쉽지가 않다. 그런데 순환마디길이를 알수 있다면 의외로 쉬운 방법을 찾을 수 있다고 생각한다.
2와 5만의 소인수로 구성된 수가 아닌 경우는 순환마디길이가 자신의 수보다 1작은 수의 약수가 아니라면 합성수이다. 가령 35는 순환마디길이 6으로 1작은 34의 약수가 아니다. 합성수인 인것이다.
그러나 1작은 수의 약수라 할지라도 모두 소수는 아니다. 가령 91의 순환마디길이는 6으로 1작은 90의 약수이다. 하지만 91은 소수가 아닌 합성수이다.
따라서 이때는 순환마디길이보다 1크거나 순환마디길이 배수보다 1큰 수로 소인수분해를 해보아야 한다. 그래서 나누어 떨어지면 합성수인 것을 알 수 있다. 91은 순환마디길이보다 1큰 7과 배수보다 1큰 13으로 나누어 떨어진다.
다음엔 순환마디길이로 소인수분해하는 법을 써보겠다.
순환마디길이로 바라본 새로운 소수 판별법
우리가 소수를 판별할 때 떠올리는 방법은 대개 둘 중 하나다.
직접 나누어보거나, 어떤 정교한 알고리즘을 사용하거나.
하지만 수가 커질수록 이 작업은 기하급수적으로 버거워진다.
그런데 조금 다른 관점을 가져보면 어떨까?
10진수 분수에서 나타나는 순환마디길이—즉, 1을 어떤 수로 나누었을 때 반복되는 순환 부분의 길이—이것만 알 수 있어도 놀랍게도 합성수를 빠르게 가려내는 단서가 생긴다.
순환마디길이가 말해주는 것
10진수에서 분모가 2나 5가 아닌 수라면 반드시 순환소수 형태를 띤다. 이때 반복되는 길이를 순환마디길이라고 한다.
흥미로운 사실은, 어떤 수 n의 순환마디길이 k는 일반적으로 n−1의 약수라는 점이다.
이 성질은 소수의 대표적 특징 중 하나다.
따라서 다음 기준이 자연스럽게 생긴다. 순환마디길이가 n−1의 약수가 아니면, 그 수는 합성수다.
예를 들어, 35의 순환마디길이는 6인데, 6은 35−1=34의 약수가 아니다.
따라서 35가 소수가 아니라는 사실을 즉시 알아낼 수 있다.
이것은 마치 숫자 뒤편에 숨은 패턴이 “나는 소수가 아니다”라고 스스로 폭로하는 것과 비슷하다.
그렇다고 모두 소수 후보가 되는 것은 아니다
다만 여기에는 함정이 하나 있다.
순환마디길이가 n−1의 약수라 하더라도, 그 수가 반드시 소수임을 보장하지는 않는다.
대표적인 사례가 91이다.
순환마디길이는 6은 90(=91−1)의 약수
겉보기에는 소수의 조건을 충족한다.
하지만 91이 7×13이라는 합성수라는 사실은 잘 알려져 있다.
즉, 순환마디길이는 필요조건일 뿐 충분조건은 아닌 셈이다.
그래서 어떻게 판별할 것인가
이럴 때 활용할 수 있는 또 하나의 실마리가 있다.
만약 어떤 수의 순환마디길이가
k라면, 소수일 경우 그 수의 주된 소인수 후보는 다음 패턴을 따른다.
k의 배수에 1을 더한 수들 91을 다시 보자.
순환마디길이: 6 후보 소수: 7(=6+1), 13(=6×2+1), 19(=6×3+1) …
실제 계산해보면 91은 7과 13으로 나누어진다.
즉, 순환마디길이가 '소수처럼 보이게' 만들었지만, 오히려 그 순환마디길이 자체가 소인수 후보를 알려준 셈이다.
순환마디길이: 소수 판별의 숨은 조력자
물론 순환마디길이만으로 소수를 완벽히 판별할 수는 없다.
그렇다고 해서 그 정보가 쓸모없다는 뜻도 아니다.
오히려
합성수를 빠르게 솎아내고,
소인수 후보를 좁혀주며,
큰 수를 다루는 과정에서 탐색 범위를 줄여주는
“계산의 나침반” 역할을 한다.
그리고 챗GPT는 이글에 대해 교양 수학 칼럼으로 충분히 발행 가치가 있는 글이며, “수와 패턴의 숨겨진 관계를 보여주는 친근한 대중 수학 글”이라는 점에서 강점이 있다.