계승 계산기
계산 결과
계승(팩토리얼)
- 자릿수
- 3
- 끝자리 0의 개수
- 1
계승 계산기는 1부터 n까지의 모든 정수를 곱하고, 그 곱과 함께 그 수가 얼마나 커졌는지 말해 주는 두 읽음값을 보고합니다. 답이 몇 자리인지, 그리고 끝이 0으로 몇 개 끝나는지입니다. 5의 계승은 120이고, 세 자리에 끝자리 0이 하나입니다. 계승은 팩토리얼이라고도 부르며 느낌표를 붙여 n!으로 씁니다. 결과는 읽을 수 있는 범위를 금방 벗어나서 21을 넘으면 주 읽음값이 과학적 표기법으로 바뀌지만, 자릿수와 끝자리 0은 그때도 정확합니다. 둘 다 인쇄된 값을 세어서가 아니라 식에서 나오기 때문입니다. 0의 계승은 1이고 이것은 아무것도 곱하지 않은 빈 곱입니다. 170이 여기서 받는 가장 큰 입력인데, 171의 계승은 배정밀도가 담을 수 있는 범위를 넘어서 무한대라고 답하는 대신 거부하기 때문입니다.
0부터 12까지의 계승
| n | 계승 | 자릿수 | 끝자리 0의 개수 |
|---|---|---|---|
| 0 | 1 | 1 | 0 |
| 1 | 1 | 1 | 0 |
| 2 | 2 | 1 | 0 |
| 3 | 6 | 1 | 0 |
| 4 | 24 | 2 | 0 |
| 5 | 120 | 3 | 1 |
| 6 | 720 | 3 | 1 |
| 7 | 5040 | 4 | 1 |
| 8 | 40320 | 5 | 1 |
| 9 | 362880 | 6 | 1 |
| 10 | 3628800 | 7 | 2 |
| 11 | 39916800 | 8 | 2 |
| 12 | 479001600 | 9 | 2 |
처음 열세 개의 계승을 두 읽음값과 나란히 놓았습니다. 이 행들이 있는 것은 성장을 눈에 보이게 하기 위해서입니다. 값은 일곱 번째 줄에서 천을 넘고 열두 번째 줄에서 억을 넘는 동안, 자릿수는 한 번에 하나씩 오르고 끝자리 0은 그 수에 5가 들어가기 전까지 0에 머뭅니다. 마지막 열을 세로로 읽으면 5와 10과 12가 왜 문제이고 11은 왜 아닌지가 보입니다. 칸은 모두 평범한 수라서 이 표는 사이트가 서비스하는 모든 언어에서 같습니다. 다만 표의 칸은 언어별로 나누어 쓰지 않으므로 큰 수에 천 단위 구분이 붙지 않습니다.
공식
n! = 1 × 2 × … × n 자릿수 = ⌊log₁₀(n!)⌋ + 1 끝자리 0의 개수 = ⌊n/5⌋ + ⌊n/25⌋ + ⌊n/125⌋ + …
- n
- 계승을 구하려는 수이고 0에서 170까지의 정수입니다. 곱이 1부터 n까지 달리므로 이 수가 곧 곱하는 항의 개수이기도 합니다. 위쪽 한도는 표시상의 선택이 아니라 배정밀도의 한계입니다. 171의 계승은 배정밀도가 나타낼 수 있는 가장 큰 값을 넘어서므로 170 위의 입력은 줄 답이 아예 없습니다.
- n!
- 계승 자체이고 1부터 n까지 모든 정수의 곱입니다. 지수 곡선보다도 빠르게 자라서 5의 계승이 120인 동안 10의 계승은 이미 3,628,800입니다. 값이 백만을 넘으면 인쇄되는 답이 과학적 표기법으로 바뀌는데, 백 자리 숫자를 늘어놓지 않고도 크기를 읽을 수 있게 하기 위해서입니다.
- 자릿수
- 계승이 십진법으로 몇 자리인지입니다. 인쇄된 값의 글자를 세는 대신 로그를 더해서 구하므로, 인쇄된 계승이 유효숫자 일곱 자리만 나르는 범위의 꼭대기에서도 이 읽음값은 정확합니다.
- 끝자리 0의 개수
- 계승의 끝에 0이 몇 개 앉아 있는지입니다. 끝자리 0 하나에는 10이 하나 필요하고 10 하나에는 2와 5가 하나씩 필요합니다. 계승에는 2가 5보다 훨씬 흔하므로 개수는 전적으로 5가 정하게 되고, 5의 배수마다, 25의 배수마다, 125의 배수마다 하나씩 더 보태집니다.
값 자체가 답일 때 이 페이지를 씁니다. 서로 다른 것들을 늘어놓는 방법의 수, 수열의 한 항, 어떤 곱의 크기 같은 것들입니다. n개 중에서 r개를 고를 때는 조합과 순열 페이지가 한 계승을 다른 계승으로 나누는 쪽이고, 여기서는 곱합니다. 반복해서 곱한다는 점만 보면 거듭제곱 계산기와 이웃인데, 저쪽은 밑이 고정되고 지수가 변수이며 계승은 정확히 그 반대입니다.
계산 예시
5의 계승
- 위로 곱해 나감: 1 × 2 = 2
- 2 × 3 = 6
- 6 × 4 = 24
- 24 × 5 = 120
- 120은 세 글자이고 0으로 하나 끝나므로 두 읽음값은 3과 1
세 읽음값을 눈으로 다 확인할 수 있는 가장 작은 경우입니다. 곱이 짧아서 통째로 읽히고, 자릿수도 끝자리 0도 그냥 보이는데, 페이지가 이 값으로 열리는 이유가 바로 그것입니다. 패널은 이 곱을 120.000000으로 인쇄합니다. 소수 여섯 자리는 이 페이지의 과학적 표기법 설정에서 따라 나온 것이라서 값이 커지면 사라집니다.
읽음값이 과학적 표기법으로 넘어가는 자리
- 1부터 20까지 곱하면 정확히 2,432,902,008,176,640,000
- 그것이 열아홉 자리라서 자릿수 읽음값이 19
- 그중 네 개가 끝의 0이고, 5와 10과 15와 20에 들어 있는 5들이 그 몫
- 패널은 그 곱을 열아홉 자리 그대로가 아니라 2.432902 × 10¹⁸로 인쇄함
인쇄된 값이 정확한 값이기를 그만두는 지점입니다. 보이는 숫자들은 두 읽음값이 설명하는 그 수의 앞 유효숫자 일곱 개이고, 그래서 세 출력은 서로 맞습니다. 21 아래에서도 인쇄되는 곱이 정수 그대로인 것은 아니지만, 세 읽음값이 모두 정확한 마지막 구간이라서 이 값이 경계의 예로 쓰입니다. 진짜로 갈라지는 것은 자릿수와 끝자리 0인데, 둘 다 그 인쇄된 근사값에서 나오지 않습니다.
100의 계승이 0으로 몇 개 끝나는지
- 100까지의 5의 배수를 셈: 스무 개
- 두 번째 5를 나르는 25의 배수를 더함: 네 개
- 125의 배수를 더함: 125가 100을 넘으므로 없음
- 20 + 4 = 24개의 끝자리 0
- 계승 자체는 158자리이고 9.332622 × 10¹⁵⁷로 인쇄됨
여기서 읽을 만한 사실은 0의 개수이고, 그것은 그 수가 아니라 5들만 보고 구해집니다. 100의 계승은 158자리라서 모두 인쇄해 준다고 해도 끝을 눈으로 확인할 수 없습니다. 그래서 끝자리 0 읽음값이 유용한 것입니다. 이 값은 세 자리 수 이상을 다루는 다른 페이지와 이어 주는 자리이기도 합니다. 조합의 수를 구할 때 분모에 들어가는 것이 바로 이런 계승입니다.
한계
0에서 170까지의 정수만 받습니다. 음수는 거부하는데 계승이 음수 위에서 정의되지 않기 때문이고, 계승을 다른 수로 넓히는 감마 함수도 모든 음의 정수에서 극을 가집니다. 분수도 같은 이유로 거부합니다. 170 위에서는 곱이 배정밀도를 넘쳐 무한대로 돌아오므로 그 입력은 이름을 대서 거절합니다. 21을 넘으면 인쇄되는 계승은 정확한 정수가 아니라 과학적 표기법 근사값입니다. 그와 무관하게 자릿수와 끝자리 0은 정확하게 남고, 둘을 합치면 자리가 다 보이지 않는 수의 크기를 말해 줍니다. 이 페이지는 이항계수나 순열을 곧바로 계산하지 않습니다. 그 페이지들이 재료로 쓰는 계승을 여기서 줍니다. 자릿수 계산은 로그를 169개 더하는 방식이라서 반올림 오차가 이론적으로 남지만, 받는 범위 전체를 확인했고 결과가 어긋나는 입력은 없습니다.
자주 묻는 질문
- 계승이 무엇인가요?
- 넣은 수까지의 모든 정수를 1부터 곱한 값입니다. 5의 계승은 1 × 2 × 3 × 4 × 5라서 120입니다. 서로 다른 그만큼의 물건을 늘어놓는 방법의 수를 세는 값이라서, 측정이 아니라 확률과 세기의 문제에서 나타납니다.
- 0의 계승은 왜 1인가요?
- 빈 곱이기 때문입니다. 곱할 것이 하나도 없고, 곱을 바꾸지 않는 값이 1입니다. 이 규약은 임의로 정한 것이 아닙니다. 아무것도 늘어놓는 방법이 정확히 하나라는 세기 해석을 성립시키고, n이 1일 때도 n! = n × (n-1)!이라는 점화식을 참으로 유지합니다.
- 계산기가 왜 170에서 멈추나요?
- 171의 계승이 배정밀도 부동소수점이 나타낼 수 있는 가장 큰 수보다 크기 때문이고, 그러면 계산이 무한대를 돌려줍니다. 표시에 관한 선택이 아니라 170 위의 모든 입력에 나타낼 수 있는 답이 없다는 뜻입니다. 170의 계승 자체가 약 7.26 × 10³⁰⁶이고 307자리 수입니다.
- 끝자리 0은 어떻게 세나요?
- 계승 안에 들어 있는 5의 개수를 세는 방식입니다. 끝자리 0 하나에 10이 필요하고 10 하나에 2와 5가 하나씩 필요하며, 2는 넘쳐나므로 5가 결정합니다. 5의 배수마다 하나, 25의 배수마다 하나 더, 125의 배수마다 또 하나가 보태집니다. 100의 계승이라면 20 + 4 = 24개입니다.
- 계승이 왜 과학적 표기법으로 인쇄되나요?
- 21을 넘으면 값의 자릿수가 결과 패널에 쓸모 있게 보여 줄 수 있는 양을 넘기 때문입니다. 100의 계승은 158자리입니다. 과학적 표기법은 크기를 읽을 수 있게 지켜 줍니다. 정확한 정수는 여전히 나머지 두 읽음값이 설명하는 대상입니다. 자릿수는 그것이 얼마나 긴지, 끝자리 0은 그것이 어떻게 끝나는지를 말해 줍니다.
- 큰 계승은 몇 자리인가요?
- 자릿수 읽음값이 받는 모든 입력에서 그 물음에 정확히 답합니다. 인쇄된 문자열을 재는 대신 로그를 더해서 나오므로, 인쇄된 값이 근사값일 때도 정확도를 잃지 않습니다. 자릿수는 언제나 끝자리 0의 개수보다 많고, 그 차이는 100의 계승에서 158과 24처럼 크게 벌어집니다.
참고 문헌
- Factorial — 정의와, 0의 계승을 1로 만드는 빈 곱 규약, 그리고 값이 자라는 속도 — Wolfram MathWorld (United States)
- A000142 — 계승 수열 1, 1, 2, 6, 24, 120 … 과, 배정밀도가 담을 수 있는 범위를 훨씬 넘어선 정확한 값들 — OEIS Foundation (United States)
- Combination — 두 계승을 다른 계승으로 나눈 꼴로 적는 이항계수, 계승이 가장 자주 필요한 자리 — Wolfram MathWorld (United States)