카마이클 수 판정기
어떤 수가 페르마 소수판별을 모든 밑에 대해 속이는 카마이클 수인지 코르셀트 판정법으로 확인합니다. 소인수분해와 페르마 거짓증인 개수, 밀러–라빈이 잡아내는 과정까지 함께 보여 줍니다.
561은(는)
카마이클 수
561 = 3 × 11 × 17. 제곱인수가 없고 모든 소인수 p에서 (p−1)이 560을 나누므로 코르셀트 조건을 둘 다 만족합니다. 서로소인 밑 320개가 전부 페르마 판별을 통과합니다.
코르셀트 조건 — 모든 소인수에서 (p−1) | (n−1)
| 소인수 p | 지수 | p − 1 | 560 ÷ (p−1) | 나눠지나 |
|---|---|---|---|---|
| 3 | 1 | 2 | 280 | 나눠짐 |
| 11 | 1 | 10 | 56 | 나눠짐 |
| 17 | 1 | 16 | 35 | 나눠짐 |
합성수 n이 카마이클 수일 필요충분조건은 제곱인수가 없고, 모든 소인수 p에서 (p−1)이 (n−1)을 나누는 것입니다(코르셀트, 1899). 밑을 하나도 훑지 않고 소인수분해만으로 판정할 수 있다는 뜻입니다.
밀러–라빈은 밑 2에서 잡아낸다
560 = 24 × 35로 쪼갠 뒤 제곱해 가며 1에 이르는 길을 봅니다.
| 지수 | mod 561 |
|---|---|
| 2^35 | 263 |
| 2^(2^1·35) | 166 |
| 2^(2^2·35) | 67 |
| 2^(2^3·35) | 1 |
n이 소수라면 1에 이르기 직전 값이 반드시 −1이어야 합니다. 소수 modulo에서 1의 제곱근은 ±1뿐이기 때문입니다. 위 사슬에서 −1을 거치지 않고 1이 나왔다면 1의 「다른」 제곱근을 찾은 것이고, 그 순간 합성수임이 들통납니다.
100,000 이하의 카마이클 수 16개
드물게 흩어져 있지만 무한히 많다는 것이 1994년에 증명되었습니다(알포드·그랜빌·포머런스). 두 번째인 1105 = 5·13·17, 세 번째인 1729 = 7·13·19가 뒤따릅니다. 1729는 두 세제곱수의 합으로 두 가지로 쓰이는 가장 작은 수(1³+12³ = 9³+10³)로도 알려진 그 수입니다.
계산 방법
- 1판정할 수를 넣습니다. 100억까지 다룹니다.
- 2소인수분해와 코르셀트 조건 표에서 (p−1)이 (n−1)을 나누는지 확인합니다.
- 3페르마 거짓증인 칸이 φ(n)과 같으면 서로소인 밑이 전부 속는다는 뜻입니다.
- 4아래 목록에서 작은 카마이클 수를 눌러 여러 예를 비교해 봅니다.
자주 묻는 질문
합성수인데도 자기와 서로소인 모든 밑에 대해 a^(n−1) ≡ 1 (mod n)을 만족하는 수입니다. 가장 작은 것이 561 = 3·11·17입니다. 페르마 소수판별은 이 식이 성립하면 소수라고 보는 방법이라, 카마이클 수는 밑을 아무리 많이 골라도 소수처럼 보입니다. 그래서 절대 유사소수라고도 부릅니다.
합성수 n이 카마이클 수일 필요충분조건은 첫째 n이 제곱인수를 갖지 않고, 둘째 n의 모든 소인수 p에 대해 (p−1)이 (n−1)을 나누는 것입니다. 1899년 코르셀트가 낸 이 조건 덕분에 밑을 하나도 훑지 않고 소인수분해만으로 판정할 수 있습니다. 561의 경우 560 = 2⁴·5·7이고 소인수는 3·11·17이라 2, 10, 16이 모두 560을 나눕니다.
n이 짝수면 n−1이 홀수인데, 소인수 p가 홀수 소수라면 p−1은 짝수라 홀수인 n−1을 나눌 수 없기 때문입니다. 같은 이유로 서로 다른 소인수가 반드시 세 개 이상이라는 것도 따라 나옵니다. 이 계산기는 그 성질을 판정 조건에 넣지 않고, 코르셀트의 두 조건만으로 실제로 그렇게 되는지 확인하도록 만들었습니다.
밑을 훑지 않고 L(n) = ∏ gcd(n−1, p−1)로 셉니다. 중국인의 나머지 정리로 소인수마다 갈라 보면 각 순환군에서 조건을 만족하는 원소가 gcd(n−1, p−1)개이기 때문입니다. 카마이클 수라면 모든 p에 대해 (p−1)이 (n−1)을 나누므로 이 값이 ∏(p−1) = φ(n)과 같아져 서로소인 밑이 전부 속습니다.
341 = 11·31은 밑 2에 대해서만 페르마 판별을 통과하는 유사소수입니다. 밑을 3으로 바꾸면 곧바로 걸립니다. 카마이클 수는 서로소인 밑을 전부 속인다는 점이 다르며, 그래서 밑을 여러 개 시도하는 대응이 통하지 않습니다.
n−1 = 2^s·d로 쪼갠 뒤 a^d를 제곱해 가며 1에 이르는 길을 봅니다. n이 소수라면 1 직전 값이 반드시 −1이어야 합니다 — 소수 modulo에서 1의 제곱근은 ±1뿐이기 때문입니다. 합성수에서는 1의 다른 제곱근이 존재하고, 그 값이 나오면 합성수임이 들통납니다. 카마이클 수도 이 검사는 피하지 못해 서로소인 밑의 최소 4분의 3이 증인이 됩니다.
전송되지 않습니다. 모든 계산은 브라우저 안에서 이뤄지고, 입력값은 이 기기에만 남습니다.
알아두면 좋은 점
- 검증은 정의 그대로의 전수 탐색을 정답지로 삼아 했습니다. 3 이상 20,000 미만의 모든 홀수에 대해 서로소인 밑을 하나하나 실제로 거듭제곱해 본 결과와 코르셀트 판정법의 결과가 완전히 일치하는 것을 확인했습니다.
- 20,000 이하의 카마이클 수 목록도 두 방법으로 따로 만들어 대조했습니다. 첫 세 개가 561·1105·1729인 것, 전부 홀수이고 제곱인수가 없는 것, 서로 다른 소인수가 언제나 세 개 이상인 것을 계산으로 확인했습니다.
- 「소인수 3개 이상」을 판정 조건에 넣지 않은 것은 그것이 코르셀트의 두 조건에서 따라 나오는 성질이지 별도의 가정이 아니기 때문입니다. 조건으로 넣으면 정말 그런지 확인할 길이 없어집니다.
- 거짓증인 개수 공식 L(n) = ∏ gcd(n−1, p−1)도 3,000 미만의 모든 홀수에서 밑을 실제로 세어 얻은 값과 대조했습니다.
- 밑 2만 속이는 유사소수 중 가장 작은 것이 341 = 11·31이라는 것을 계산으로 확인해 두었습니다. 카마이클 수와 구별되는 자리입니다.
- 소인수분해를 시행 나눗셈으로 하므로 100억까지 다룹니다. 그 위로는 √n이 커져 브라우저에서 즉시 답하기 어렵습니다.
함께 보면 좋은 도구
마지막 검증: 2026년 9월 1일 · 결과는 참고용 추정치입니다.