소인수분해할 정수를 입력해 주세요. 곱의 꼴, 거듭제곱 꼴, 거꾸로 나눗셈의 과정, 약수의 개수를 한꺼번에 보여 줍니다.
이 페이지에서 할 수 있는 것
- 2 이상의 정수를 넣기만 하면 소인수분해 결과를 \(2 \times 2 \times 5 \times 5\) 같은 곱의 꼴로 바로 알 수 있습니다
- 중학교에서 배우는 거듭제곱 꼴(\(2^{2} \times 5^{2}\))과 거꾸로 나눗셈의 과정도 보여 줍니다
- 소인수분해를 응용해 약수의 개수도 함께 계산합니다
- 소수(더 이상 나눌 수 없는 수)를 넣으면 ‘소수입니다’라고 판정하므로 소수 판별에도 쓸 수 있습니다
- 공식의 쉬운 해설과 Excel, Google 스프레드시트, Python에 바로 복사해 쓸 수 있는 수식도 이 페이지에 모아 두었습니다
이 계산은 어디에 쓰일까요?
\(\frac{84}{126}\)처럼 큰 분수도 소인수분해하면 차근차근 약분할 수 있습니다. \(84 = 2^{2} \times 3 \times 7\), \(126 = 2 \times 3^{2} \times 7\)이므로 공통인 부분 \(2 \times 3 \times 7 = 42\)가 최대공약수입니다. 둘 다 42로 나누면 \(\frac{2}{3}\)가 됩니다.
약분, 통분, 최소공배수 구하기는 모두 소인수분해를 바탕으로 하므로, 분수 계산 전체를 훤히 보이게 해 줍니다.
신용카드 번호 등을 지키는 RSA 암호는 ‘큰 수의 소인수분해는 컴퓨터로도 엄청나게 오래 걸린다’는 사실을 안전성의 근거로 삼습니다. 실제로 232자리 수(RSA-768)를 소인수분해하는 데 수백 대의 컴퓨터로 약 2년이 걸렸습니다.
100조(15자리) 정도의 수라면 컴퓨터가 순식간에 분해하지만, 자릿수가 늘어나면 어려움이 폭발적으로 커집니다. 이 차이가 인터넷의 안전을 떠받치고 있습니다.
톱니 수가 12인 톱니바퀴와 18인 톱니바퀴는 \(12 = 2^{2} \times 3\)과 \(18 = 2 \times 3^{2}\)의 최소공배수인 36개의 톱니만큼 진행하면 처음 위치로 돌아갑니다(작은 톱니바퀴 3바퀴, 큰 톱니바퀴 2바퀴).
소인수분해는 최소공배수를 확실하게 구하는 도구라서, 톱니의 마모를 고르게 하는 설계나 여러 주기가 겹치는 때를 계산하는 데 쓰입니다.
36명을 같은 인원의 모둠으로 나누는 방법은 몇 가지일까요? \(36 = 2^{2} \times 3^{2}\)에서 약수의 개수는 \((2+1) \times (2+1) = 9\)개이므로, ‘1명씩 36모둠’부터 ‘36명씩 1모둠’까지 9가지입니다.
모둠 나누기, 타일 붙이기, 상품 상자 포장처럼 ‘딱 나누어떨어지게 하고 싶은’ 상황의 선택지를 일일이 적지 않고 셀 수 있습니다.
미국 동부에는 13년 또는 17년마다 땅속에서 한꺼번에 나오는 매미(주기 매미)가 있습니다. 주기가 소수이면 다른 주기와 잘 겹치지 않습니다. 예를 들어 13년 매미와 12년 주기의 천적이 같은 해에 나타나는 것은 최소공배수인 156년에 한 번뿐입니다.
주기가 소수인 것이 살아남는 데 유리했다는 가설이 유력합니다. 주기가 얼마나 드물게 겹치는지를 소인수분해로 계산해 보면 이 생각을 직접 확인할 수 있습니다.
공식
용어·기호 해설
기호
| \(n\) | 엔 | 소인수분해할 처음 정수(2 이상)입니다. (예: 100) |
| \(p, q\) | 피, 큐 | 소인수(\(n\)을 나누어떨어지게 하는 소수)입니다. 작은 순서대로 늘어놓아 씁니다. (예: 100의 소인수는 2와 5) |
| \(p^{a}\) | 피의 에이제곱 | 소인수 \(p\)를 \(a\)번 곱한 값입니다. 오른쪽 위의 작은 \(a\)는 ‘\(a\)번 곱한다’는 뜻의 지수입니다. (예: \(2^{2} = 2 \times 2 = 4\)) |
| \(d\) | 디 | 약수의 개수입니다. 약수를 뜻하는 영어 divisor의 머리글자입니다. (예: 100이라면 \(d = 9\)) |
용어
| 소수 | 1과 자기 자신 외에는 약수가 없는 2 이상의 정수입니다(0.5 같은 ‘소수점이 있는 수’와는 다른 말입니다). 2, 3, 5, 7, 11, 13, …으로 이어집니다. 1은 소수가 아니며, 2는 유일한 짝수인 소수입니다. |
| 합성수 | 소수가 아닌 2 이상의 정수입니다. 바꾸어 말하면 2개 이상의 소수의 곱으로 만들 수 있는 수입니다(예: 100 = 2 × 2 × 5 × 5). |
| 소인수 | 어떤 정수를 나누어떨어지게 하는 소수입니다. 100의 소인수는 2와 5입니다. |
| 소인수분해 | 정수를 소수만의 곱으로 나타내는 것입니다. 결과는 곱하는 순서를 빼면 오직 한 가지로 정해집니다. |
| 약수 | 그 수를 나누어떨어지게 하는 정수입니다. 12의 약수는 1, 2, 3, 4, 6, 12의 6개입니다. |
| 지수 | 오른쪽 위에 작게 쓰는 ‘몇 번 곱하는지’를 나타내는 수입니다. \(2^{3}\)은 2를 3번 곱한다(\(2 \times 2 \times 2 = 8\))는 뜻입니다. |
| 산술의 기본 정리 | 2 이상의 모든 정수는 소수의 곱으로 오직 한 가지로 나타낼 수 있다는 정리입니다. 소인수분해의 답이 하나로 정해지는 근거입니다. |
| 거꾸로 나눗셈 | 작은 소수로 차례차례 나누어 가는 필산 방법입니다. 나눗셈 기호를 거꾸로 쓴 모양으로, 왼쪽에 나누는 소수를, 아래에 몫을 쓰고 몫이 소수가 되면 끝납니다. 왼쪽에 늘어선 소수와 마지막 몫을 모두 곱하면 처음 수로 돌아갑니다. 수를 두 수의 곱으로 계속 갈라 나가는 ‘가지치기 방법’도 있으며, 마지막에는 같은 소수가 나옵니다. |
| 시험 나눗셈 | 2, 3, 5, …처럼 작은 소수부터 차례로 ‘나누어떨어지는지’를 시험해 보는 소인수분해 방법입니다. \(\sqrt{n}\)까지 시험해서 나누어떨어지지 않으면 남은 수는 소수라고 판정할 수 있습니다. |
먼저 알아 두면 좋은 내용
이 페이지의 계산을 ‘의미를 알고’ 쓸 수 있도록, 먼저 알아 두면 좋은 내용을 정리했습니다.
막히면 이 표의 내용으로 돌아가 복습하는 것이 지름길입니다.
| 곱셈구구(초등학교 2학년, 7~8세)와 나눗셈(초등학교 3학년, 8~9세) |
|
| 짝수와 홀수(초등학교 1학년), 약수와 배수(초등학교 5학년, 10~11세) |
|
| 소수와 소인수분해(중학교 1학년, 12~13세) |
|
| 거듭제곱과 지수(중학교 1학년, 12~13세) |
|
Excel로 계산하는 방법
| 소인수 1 | 2 |
| 소인수 2 | 2 |
| 소인수 3 | 5 |
| 소인수 4 | 5 |
| 처음 정수 n | =B1*B2*B3*B4 |
| 소인수 p | 2 |
| p의 지수 a | 2 |
| 소인수 q | 5 |
| q의 지수 b | 2 |
| 처음 정수 n | =B1^B2*B3^B4 |
| p의 지수 a | 2 |
| q의 지수 b | 2 |
| 약수의 개수 d | =(B1+1)*(B2+1) |
첫 번째 표는 소인수를 모두 곱하면 처음 수로 돌아가는지 확인합니다. B5에 2 × 2 × 5 × 5 = 100이 표시됩니다.
두 번째 표는 거듭제곱 꼴(2² × 5²)에서 계산합니다. ‘^’는 거듭제곱(몇 번 곱하는지)을 나타내는 기호입니다. B5에 100이 표시됩니다.
세 번째 표는 약수의 개수를 구합니다. B3에 (2+1) × (2+1) = 9가 표시됩니다. 소인수와 지수를 내 결과로 바꾸기만 하면 됩니다.
Google 스프레드시트로 계산하는 방법
| 소인수 1 | 2 |
| 소인수 2 | 2 |
| 소인수 3 | 5 |
| 소인수 4 | 5 |
| 처음 정수 n | =B1*B2*B3*B4 |
| 소인수 p | 2 |
| p의 지수 a | 2 |
| 소인수 q | 5 |
| q의 지수 b | 2 |
| 처음 정수 n | =B1^B2*B3^B4 |
| p의 지수 a | 2 |
| q의 지수 b | 2 |
| 약수의 개수 d | =(B1+1)*(B2+1) |
Python으로 계산하는 방법
number = 100 # 소인수분해할 정수(2 이상)
prime_factors = [] # 소인수의 리스트(작은 순서)
remaining = number
divisor = 2
while divisor * divisor <= remaining:
while remaining % divisor == 0: # 나누어떨어지는 동안 같은 수로 계속 나눈다
prime_factors.append(divisor)
remaining //= divisor
divisor += 1
if remaining > 1: # 마지막에 남은 1보다 큰 수는 소수
prime_factors.append(remaining)
print(f"{number}의 소인수: {prime_factors}")
LaTeX 등 수식 언어로 쓰는 법(복사 가능)
n = p₁ × p₂ × ⋯ × pₖ
n = p_1 \times p_2 \times \cdots \times p_k
<math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
<mrow>
<mi>n</mi>
<mo>=</mo>
<msub><mi>p</mi><mn>1</mn></msub>
<mo>×</mo>
<msub><mi>p</mi><mn>2</mn></msub>
<mo>×</mo>
<mo>⋯</mo>
<mo>×</mo>
<msub><mi>p</mi><mi>k</mi></msub>
</mrow>
</math>
n = p_1 xx p_2 xx cdots xx p_k
FactorInteger[n]
ifactor(n);
factor(n)
n = p_1 × p_2 × ⋯ × p_k
n = pᵃ × qᵇ × ⋯
n = p^{a} \times q^{b} \times \cdots
<math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
<mrow>
<mi>n</mi>
<mo>=</mo>
<msup><mi>p</mi><mi>a</mi></msup>
<mo>×</mo>
<msup><mi>q</mi><mi>b</mi></msup>
<mo>×</mo>
<mo>⋯</mo>
</mrow>
</math>
n = p^a xx q^b xx cdots
p^a * q^b
n := p^a * q^b;
n = p^a * q^b;
n = p^a × q^b × ⋯
d = (a + 1) × (b + 1)
d = (a+1) \times (b+1)
<math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
<mrow>
<mi>d</mi>
<mo>=</mo>
<mo>(</mo><mi>a</mi><mo>+</mo><mn>1</mn><mo>)</mo>
<mo>×</mo>
<mo>(</mo><mi>b</mi><mo>+</mo><mn>1</mn><mo>)</mo>
</mrow>
</math>
d = (a + 1) xx (b + 1)
(a + 1)*(b + 1)
d := (a + 1)*(b + 1);
d = (a + 1)*(b + 1);
d = (a + 1) × (b + 1)
ChatGPT 에게 물어서 계산하는 방법
당신은 정수 계산 도우미입니다. 다음 계산을 실제로 Python 코드를 실행해서 하고, 실행 결과의 수치만을 근거로 답해 주세요(암산이나 추측으로 답하지 마세요). 360을 소인수분해해 주세요. 1. 소인수를 작은 순서대로 모두 나열해 주세요(같은 소인수는 나오는 횟수만큼 반복) 2. 거듭제곱 꼴로 나타내 주세요(예: 2^3 × 3^2 × 5 같은 꼴) 3. 360의 약수의 개수도 구해 주세요 사용한 코드와 실행 결과의 수치를 함께 보여 주세요.
사용법
-
1숫자 입력계산하고 싶은 숫자를 입력란에 입력합니다
-
2계산‘계산’ 버튼을 누릅니다
-
3결과 확인계산 결과가 바로 표시됩니다. 계산의 원리와 공식 해설도 같은 페이지에서 확인할 수 있습니다
DataChef의 특징
전문 지식 없이도 직관적이고 간단하게 사용
개인정보를 등록하지 않고도 이용할 수 있습니다
"다운로드"를 누르면 파일이 자동으로 삭제됩니다
출처 표기 불필요
상업적 이용 허가 연락도 필요 없습니다