소인수분해 · GCD · LCM
일상
양의 정수 하나 또는 두 개 입력. 각각에 대해: `p^e × q^f` 형식 소인수분해·모든 약수·소수 여부. 둘 다 입력 시 GCD(최대공약수 — 분수 약분에 유용)·LCM(최소공배수 — 공통 주기 찾기에 유용)도 표시. √n까지 시행 분할은 ~10¹²까지 빠르고 전부 브라우저에서 실행.
—
GCD (최대공약수)
36
LCM (최소공배수)
2520
360
소인수분해
2^3 × 3^2 × 5
약수 (24)
1, 2, 3, 4, 5, 6, 8, 9, 10, 12, 15, 18, 20, 24, 30, 36, 40, 45, 60, 72, 90, 120, 180, 360
252
소인수분해
2^2 × 3^2 × 7
약수 (18)
1, 2, 3, 4, 6, 7, 9, 12, 14, 18, 21, 28, 36, 42, 63, 84, 126, 252
√n까지 시행 분할. ~10¹²까지 입력에 빠름. 빠른 응답 위해 10⁹ 초과 시 약수 스캔 건너뜀.
사용법
- A 필드에 숫자 입력 — 인수분해·약수·소수 판정.
- B 필드에 두 번째 숫자 추가하면 GCD·LCM도 계산.
- 인수분해 복사 또는 약수 목록 확인. 매우 합성된 수는 약수 목록 처음 200개로 제한.
자주 묻는 질문
- 최대 입력?
- 약 10¹²(조)까지. 그 이상은 자바스크립트가 정수 정밀도 잃음(Number.MAX_SAFE_INTEGER는 2⁵³ ≈ 9×10¹²)·√n까지 시행 분할도 느려짐. 더 큰 수는 BigInt와 Pollard's rho 필요.
- 왜 큰 수의 약수 목록이 없음?
- CPU 과부하 방지 위해 약수 스캔은 n < 10⁹로 제한. 소인수분해는 여전히 실행 — 최대 소인수까지 O(√n)이고 종종 n보다 훨씬 작음.
- GCD는 어디에 유용?
- 분수 약분: 252/360 = ?. GCD(252, 360) = 36, 따라서 252/360 = 7/10. 암호학(RSA)·두 주기가 언제 정렬되는지 결정에도 사용.
- LCM(a, b) = a × b / GCD(a, b)?
- 네·항상·양의 정수에 대해. 정확히 이 항등식 사용. 직관: LCM은 a·b에 걸친 모든 소인수의 최고 거듭제곱·GCD는 모든 소인수의 최저 거듭제곱; 곱하면 a × b 복원.