순열 계산기
계산 결과
순열(순서 고려)
- 조합(순서 무시)
- 120
순열 계산기는 세기 질문에 답합니다. 서로 다른 n개의 항목이 있는 통에서 순서를 세어 r개를 뽑는 방법이 몇 가지인가 하는 질문입니다. 그 수를 보고하고, 바로 옆에 순서를 무시한 같은 수, 즉 조합을 함께 보여 줍니다. 두 행은 순서가 더하는 인수만큼 정확히 차이 납니다. 그 인수는 r의 계승입니다. 고른 r개의 항목은 어떤 집합이든 r!가지 순서로 늘어설 수 있으므로, 순열이 언제나 두 행 가운데 큰 쪽이고 r이 1일 때 둘이 같아집니다. 이 구분은 자리가 구성원과 다를 때마다 중요합니다. 경주에서 처음 세 명이 들어온 순서는 어느 세 사람이 들어왔는지와 다른 질문이고, 비밀번호는 순열이며 복권 추첨은 조합입니다. 이 페이지는 같은 항목을 다시 뽑을 수 있을 때 계산 전체를 바꿉니다. 복원 추출은 수를 내려가는 곱이 아니라 거듭제곱으로 만들고, 그러면 r이 더 이상 통의 크기에 묶이지 않기 때문입니다.
공식
P(n, r) = n! / (n − r)! = nPr C(n, r) = n! / (r! (n − r)!) P(n, r) = C(n, r) · r!
- n
- 뽑아 내는 통의 크기입니다. 쓸 수 있는 서로 다른 항목의 수이며 최대 1000입니다. 이 상한은 발상에 대한 한계가 아니라 산술에 대한 한계입니다. 수는 n과 함께 커지고, 어느 지점을 넘으면 정확한 값이 이 페이지가 정확히 표현할 수 있는 정수의 범위에 더 이상 들어가지 않습니다
- r
- 가져갈 항목의 수입니다. 중복을 허용하지 않는 동안에는 n을 넘을 수 없습니다. 있는 것보다 많은 서로 다른 항목을 가져갈 수는 없기 때문입니다. 중복을 허용하면 r이 더 클 수 있고, 페이지가 아직 정확히 계산할 수 있는 거듭제곱의 크기만이 그 한계입니다
- n!
- n의 계승입니다. n에 그 아래의 모든 정수를 1까지 곱한 값입니다. 전부를 순서대로 가져갈 때의 수이며, (n − r)!로 나누는 나눗셈이 걷어내는 항입니다
- P(n, r)
- 배열의 수입니다. 첫 자리에 n가지, 둘째 자리에 n − 1가지, 그런 식으로 r개의 자리를 채웁니다. 곱 n × (n − 1) × … × (n − r + 1)을 공식이 n! / (n − r)!로 쓴 것입니다
- C(n, r)
- 순서를 무시한 수이며 둘째 행으로 보고됩니다. 배열의 수를 r!로 나눈 값이고, 그 r!은 고른 집합 하나를 정렬할 수 있는 방법의 수입니다. 두 행의 차이가 전부 이것입니다
- allowRepetition
- 페이지가 어느 쪽 설정에 있는지입니다. 중복을 허용하면 수가 n의 r제곱이 됩니다. r번의 뽑기마다 통 전체에서 다시 고를 수 있기 때문입니다. 순서를 무시한 행은 대신 중복집합의 수로 바뀝니다
자리가 구별될 때 씁니다. 경우의 수를 셀 때 대개 그렇습니다. 경주의 시상대, 처음 세 장의 카드가 나온 순서, 비밀번호, 번호판, 좌석 배치, 두 항목을 맞바꾸면 다른 결과가 되는 모든 목록이 그렇습니다. 결과가 집합일 때는 조합 행을, 또는 이 짝의 다른 페이지를 쓰세요. 그러면 같은 r개의 항목을 두 가지로 배열한 것이 같은 답이고, r!로 나누는 일이 정확히 그 보정입니다. 항목을 뽑은 뒤 다시 뽑을 수 있으면 중복을 켜세요. 네 자리 PIN은 10⁴가지인데 각 자리를 열 가지 전체에서 뽑기 때문입니다. 서로 다른 공을 뽑는 복권 추첨은 그렇지 않습니다. 그리고 첫째 행을 보러 왔더라도 둘째 행을 읽으세요. 두 수를 함께 보는 것이 순서가 왜 중요한지를 가장 분명하게 말해 줍니다. 둘이 인수 하나만큼 다르기 때문입니다.
계산 예시
10개에서 세 자리, 순서를 세면
- 첫 자리에 열 가지, 둘째 자리에 남은 아홉 가지, 셋째 자리에 여덟 가지입니다
- 곱합니다: 10 × 9 × 8 = 720가지 배열입니다
- 순서를 무시하면 3! = 6으로 나누어 120개의 집합이 됩니다
- 720 / 120 = 6이며, 이것이 정확히 3!입니다
두 행이 이 페이지의 요점을 한 줄로 보여 줍니다. 같은 열 개와 같은 세 자리가 순서를 세면 720, 세지 않으면 120이고, 둘의 비가 3!입니다. 그 3!은 고른 세 항목을 다시 배열하는 방법의 수입니다. 순열과 조합이 어긋나 보일 때마다 하나를 다른 하나로 나누는 것이 점검입니다. 비가 계승이 아니면 산술이 아니라 설정에 문제가 있는 것입니다.
여덟 명 중 시상대 세 자리
- 우승 후보 여덟 명, 준우승 후보 일곱 명, 3위 후보 여섯 명입니다
- 8 × 7 × 6 = 336가지로 시상대를 채웁니다
- 순서를 무시하면 같은 세 사람이 어떻게 배열되든 하나의 집합이므로 336 / 6 = 56입니다
- 곱셈을 거꾸로 8!/(8−3)! = 40320/120으로 해도 같은 336입니다
이것이 이 구분의 일상적인 모습입니다. 경기 결과는 순열입니다. 은메달이 금메달과 다르기 때문입니다. 반면 본선 진출자 명단은 조합입니다. 누가 가장 빨랐든 진출한 세 사람은 같은 세 사람이기 때문입니다. 같은 두 수가 조합 페이지에서 두 행이 맞바뀐 채 나타난다는 점도 눈여겨보세요. 그것은 중복이 아니라 짝이 의도대로 작동하는 모습입니다.
다섯 장을 순서대로 나눠 주기
- 첫 장에 52가지, 둘째 장에 51가지, 그런 식으로 다섯째 장에 48가지입니다
- 52 × 51 × 50 × 49 × 48 = 311,875,200가지 순서 있는 배분입니다
- 다섯 장 패는 순서를 무시하므로 5! = 120으로 나눕니다
- 311,875,200 / 120 = 2,598,960이며, 익숙한 다섯 장 포커 패의 수입니다
2,598,960은 모든 포커 확률에서 인용되는 수이고, 그래서 이 사례에서는 독자가 다른 데서 본 것과 이 페이지를 대조해 볼 수 있습니다. 순서 인수가 어마어마해지는 가장 분명한 경우이기도 합니다. 같은 다섯 장을 다른 순서로 나눠 주는 것은 다른 순서 있는 배분이지만 같은 패이고, 두 수 사이의 인수는 6이 아니라 120입니다. 여기서는 두 수 모두 반올림 없이 정확합니다.
숫자가 겹쳐도 되는 세 자리 코드
- 중복을 허용하면 세 자리 각각을 열 개의 숫자 전체에서 독립적으로 고릅니다
- 10 × 10 × 10 = 1000가지 코드입니다
- 순서를 무시한 행은 더 이상 1000 / 6이 아닙니다. 777 같은 코드의 배열이 모두 서로 다르지는 않기 때문입니다
- 중복집합의 수가 됩니다: C(10 + 3 − 1, 3) = C(12, 3) = 220
여기서 흥미로운 수는 둘째 행입니다. 항목이 서로 다를 때 순서를 무시한 수는 배열의 수를 r!로 나눈 값일 뿐이지만, 중복이 허용되면 그 나눗셈이 과하게 보정합니다. 777은 여섯 가지가 아니라 한 가지 배열만 갖기 때문입니다. 그래서 페이지는 나누는 대신 다른 공식으로 갈아탑니다. 220은 열 개 숫자의 세 자리 중복집합의 수이고, 중복 스위치가 첫째 행만이 아니라 두 행을 모두 바꾸는 이유입니다.
한계
설명으로 넘기는 대신 강제되는 경계가 둘 있고, 수가 뜻밖으로 나오기 전에 둘 다 알아 두는 것이 좋습니다. 중복을 허용하지 않는 동안에는 r이 n을 넘을 수 없습니다. 서로 다른 항목이 셋뿐인 통에서 넷을 가져가는 일은 일어나기 어려운 결과가 아니라 불가능한 요청이고, 페이지는 0을 돌려주는 대신 그렇게 말합니다. 통의 크기는 1000으로 제한됩니다. 실제로 먼저 걸리는 것은 둘째 한계입니다. 배열의 수는 매우 빠르게 자라는 곱이고, 이 페이지는 근삿값이나 과학적 표기를 쓰는 대신 정확한 정수를 보고합니다. 참값이 더 이상 정확히 표현되지 않는 지점을 넘으면 끝자리가 틀린 정수를 인쇄하는 대신 답을 거절합니다. 그럴듯해 보이는 틀린 수는 여기서 분명한 거절보다 훨씬 나쁩니다. 그 수가 그것에 의존하는 무엇이든 그대로 복사되어 들어가기 때문입니다. 중복 분기에는 더 작은 산술 한계도 있습니다. 수가 거듭제곱이라 아주 큰 지수는 같은 방식으로 넘칩니다. 뜻에 관해 두 가지를 더 붙입니다. 여기 두 행은 확률이 아닙니다. 둘 다 똑같이 그럴듯한 배열의 수이고, 수를 확률로 바꾸려면 가능한 전체 수로 나눠야 하는데 그것은 이 페이지의 두 수가 아니라 과정에 달려 있습니다. 그리고 이 페이지에는 계승표도, 이항계수표도, 파스칼 삼각형도 없습니다. 이유는 아래 다섯째 질문에 있습니다.
자주 묻는 질문
- 순열과 조합은 무엇이 다른가요?
- 순열은 배열을 세고 조합은 집합을 셉니다. 고른 항목 둘을 맞바꾸면 순열은 다른 결과를 만들어 내고 조합은 그렇지 않습니다. 이 페이지가 둘을 함께 보고하는 이유는 그 관계를 주장하는 대신 보이기 위해서입니다. 배열의 수가 언제나 둘 중 큰 쪽이고, 그것을 r의 계승으로 나누면 다른 행이 됩니다. 실전에서 물어야 할 것은 자리가 뜻을 갖는지입니다. 경기 결과나 순서대로 나눠 준 카드처럼 셋째 자리가 둘째와 다르면 배열의 수가 필요하고, 고른 세 항목이 서로 바꿔 놓을 수 있는 것이라면 집합의 수가 필요합니다.
- 두 행은 왜 정확히 r의 계승만큼 다른가요?
- 고른 r개의 항목은 어떤 집합이든 r!가지 순서로 늘어설 수 있고, 배열의 수는 그 순서 하나하나를 별개의 결과로 세기 때문입니다. r = 3이면 어떤 세 항목이든 여섯 가지로 정렬되므로 집합 하나가 배열 여섯에 대응하고, 배열의 수는 집합의 수의 여섯 배입니다. 계산을 가장 빠르게 점검하는 방법이기도 합니다. 두 행을 나누면 답이 계승이어야 합니다. 그렇지 않다면 어긋난 곳은 산술이 아니라 설정입니다. 대개는 상황과 맞지 않는 통의 크기나 중복 설정입니다.
- 같은 항목을 두 번 뽑는 것은 언제 다른 경우로 세나요?
- 그 상황이 애초에 두 번 뽑는 것을 허용할 때 정확히 그렇습니다. 그것이 중복 설정이 지배하는 스위치이고, 첫째 행만이 아니라 두 행을 모두 바꿉니다. 네 자리 PIN은 각 자리를 열 개 전체에서 새로 뽑으므로 0000을 비롯한 어떤 반복도 평범한 결과이고 수는 10⁴입니다. 복권 추첨은 통에서 공을 꺼내므로 어떤 수도 두 번 나올 수 없고 수는 내려가는 곱이 됩니다. 중복을 허용하면 집합의 수는 더 이상 배열의 수를 r!로 나눈 값이 아닙니다. 777 같은 뽑기는 여섯 가지가 아니라 한 가지 배열만 갖기 때문이고, 페이지는 그 행에 중복집합의 수를 씁니다.
- 왜 통에 있는 것보다 많은 항목을 가져가라고 하면 거절하나요?
- 중복을 허용하지 않는 동안, r이 n보다 큰 것은 수행할 수 없는 절차를 서술하기 때문입니다. 서로 다른 항목이 셋뿐인데 넷째가 존재하지 않습니다. 페이지는 0을 돌려주는 대신 문제를 보고합니다. 0은 다른 설정에서는 정당한 수이고 답으로 읽히기 때문입니다. 중복을 켜면 같은 요청이 아주 평범해집니다. 세 항목에서 다섯 번 가져가기를 중복 허용으로 하면 3⁵ = 243가지 배열입니다. 한계가 r 하나가 아니라 두 설정의 조합에 걸려 있는 이유가 이것입니다.
- 이 짝을 이루는 두 페이지에 파스칼 삼각형이나 계승표가 없는 이유는 무엇인가요?
- 여기서 표는 여러분이 입력한 두 수를 볼 수 없기 때문입니다. 그리고 사람들이 원하는 그 표, 즉 계승과 이항계수, 파스칼 삼각형의 행은 고정된 작은 값들을 위한 목록입니다. 페이지에 붙이면 위 패널과 다른 질문에 답하게 되고, 때로는 지금 보고 있는 행과 눈에 띄게 어긋나는데 그건 표가 아예 없는 것보다 나쁩니다. 패널이 곧 그 표입니다. n과 r, 중복 설정을 바꾸면 두 행이 다시 계산됩니다. 이 짝을 이루는 두 페이지는 한쪽만 표를 주고 다른 쪽은 주지 않는 대신 다른 세기 도구들과 같은 결론에 이릅니다. 둘은 같은 질문의 두 방향이기 때문입니다.
- 큰 통에서는 왜 답이 나오지 않나요?
- 배열의 수가 긴 정수 곱이고, 이 페이지가 정확히 표현할 수 있는 가장 큰 정수를 대부분의 사람이 짐작하는 것보다 훨씬 일찍 넘어서기 때문입니다. 19의 계승은 이미 그 선을 넘습니다. 열여덟 자리라는 크기가 놀라워 보이지 않는데도 그렇습니다. 그 지점을 넘으면 페이지는 끝자리 여러 개가 틀린 수를 인쇄하는 대신 답을 거절합니다. 그리고 정확한 수에서는 그 자리들이 값어치의 전부입니다. 틀린 정수는 아주 평범해 보이고 그것에 의존하는 계산에 그대로 복사되어 들어갑니다. 통의 상한 1000은 같은 우려에 대한 별개의 느슨한 방어선입니다. 산술을 시도해 볼 만한 크기에서 입력을 멈춥니다.
참고 문헌
- Permutation — from Wolfram MathWorld — 순서 있는 목록의 원소를 재배열한 것이며, 주어진 크기의 집합에 대해 그 수를 셉니다 — Wolfram MathWorld
- Combination — from Wolfram MathWorld — 집합에서 순서 없는 결과를 고르는 방법의 수이며, 이항계수라고도 하고 n choose k로 읽습니다 — Wolfram MathWorld
- 1.3.6.1. What is a Probability Distribution — e-Handbook of Statistical Methods — 확률의 도수 해석이며, 똑같이 그럴듯한 배열의 수가 어떻게 확률이 되는지를 설명합니다 — National Institute of Standards and Technology (NIST)