이 계산기로 할 수 있는 일
이 도구는 정수의 모든 약수를 찾아주고, 곱해서 입력한 수가 되는 약수의 쌍을 빠짐없이 나열해 줍니다. 약수란 어떤 정수를 나머지 없이 정확히 나누어떨어지게 하는 정수를 말합니다. 약수의 쌍은 곱했을 때 원래의 수가 되는 두 약수를 뜻하며, 예를 들어 \(6 \times 8 = 48\)이 바로 그런 경우입니다.
사용 방법
0이 아닌 정수(양수든 음수든)를 입력란에 적고 실행하기만 하면 됩니다. 계산기는 세 가지를 알려줍니다. 첫째, 그 수의 약수가 몇 개인지, 둘째, 작은 값부터 큰 값 순으로 정렬된 약수의 전체 목록, 셋째, \(a \times b = n\) 형태로 표현된 모든 약수의 쌍입니다. 음수를 입력하면 부호가 붙은 쌍을 보여주는데, 곱이 음수가 되려면 하나는 음수, 다른 하나는 양수여야 하기 때문입니다.
계산 원리
이 계산기는 시험 나눗셈(trial division) 방식을 사용합니다. 입력한 수를 \(n\), 그 절댓값을 \(m = |n|\)이라고 하면, 1부터 \(m\)의 제곱근을 넘지 않는 가장 큰 정수까지의 후보 약수 \(i\)만 확인하면 됩니다. \(m\)을 \(i\)로 나눈 나머지가 0이 될 때마다 \(i\)와 \(\tfrac{m}{i}\)가 모두 약수가 되며, 이 둘이 \(i \times \tfrac{m}{i} = m\)이라는 쌍을 이룹니다.
$$m \bmod i = 0 \;\Rightarrow\; i \text{ and } \tfrac{m}{i} \text{ are factors}, \quad i = 1, 2, \dots, \left\lfloor \sqrt{m} \right\rfloor$$\(\sqrt{m}\)까지만 확인해도 되는 이유는, 제곱근보다 큰 약수는 모두 제곱근보다 작은 약수와 자동으로 짝을 이루기 때문입니다. 완전제곱수의 경우 제곱근이 한 번만 나타나며 자기 자신과 짝을 이루는 형태로 표시됩니다.
예제 풀이
\(n = 48\)일 때 제곱근은 약 \(6.93\)이므로 \(i\)를 1부터 6까지 확인합니다. 그 결과 \(1 \times 48\), \(2 \times 24\), \(3 \times 16\), \(4 \times 12\), \(6 \times 8\)을 찾을 수 있습니다(5는 48을 나누어떨어지게 하지 않습니다). 따라서 약수 목록은 1, 2, 3, 4, 6, 8, 12, 16, 24, 48로 모두 10개입니다.
자주 묻는 질문
왜 0은 입력할 수 없나요? 모든 정수가 0을 나누어떨어지게 하므로, 0은 약수가 무한히 많아집니다. 0이 아닌 정수를 입력해 주세요.
음수는 어떻게 계산되나요? -6의 경우 곱이 음수가 되어야 하므로, 양수 쌍 하나가 부호가 붙은 두 개의 쌍으로 나뉩니다. 즉 \(-1 \times 6\), \(1 \times -6\), \(-2 \times 3\), \(2 \times -3\)이 됩니다.
여기서 말하는 소수(prime number)란 무엇인가요? 소수는 약수가 1과 자기 자신, 딱 두 개뿐인 수입니다. 예를 들어 7의 약수는 1과 7입니다.