고를 때 순서를 따지는지와 같은 것을 또 골라도 되는지 두 가지만 판단하면 네 공식 중 하나가 정해집니다. "1등·2등을 정한다"면 순서를 따지는 것이고, "대표 3명을 뽑는다"면 따지지 않는 것입니다.
어떤 공식을 쓸지 고르기
상황
순서
중복
공식
반장·부반장 뽑기
따짐
안 됨
순열 nPr
대표 3명 뽑기
안 따짐
안 됨
조합 nCr
4자리 비밀번호
따짐
됨
중복순열 nr
아이스크림 3스쿱 고르기
안 따짐
됨
중복조합 nHr
자주 쓰는 값
n, r
순열
조합
중복순열
중복조합
5, 2
20
10
25
15
5, 3
60
10
125
35
10, 3
720
120
1,000
220
10, 5
30,240
252
100,000
2,002
45, 6
5,864,443,200
8,145,060
8,303,765,625
15,890,700
로또 확률로 보는 감각
1등 — 45개 중 6개를 맞혀야 하므로 8,145,060분의 1입니다.
한 장에 1,000원 — 모든 조합을 사려면 8,145,060,000원이 듭니다.
매주 5장씩 — 1년에 260장이므로 평균 약 31,327년이 걸립니다.
번호를 고르는 방식 — 자동이든 수동이든 확률은 같습니다. 어떤 조합이든 8,145,060분의 1입니다.
용어 설명
팩토리얼 (n!)
1부터 n까지 모두 곱한 값. 0! = 1로 약속합니다.
순열 (Permutation)
순서를 구별해 나열하는 경우의 수.
조합 (Combination)
순서를 구별하지 않고 고르는 경우의 수.
중복순열
같은 것을 여러 번 골라도 되는 순열. n의 r제곱입니다.
중복조합
같은 것을 여러 번 골라도 되는 조합. 칸막이 방법으로 (n+r−1)Cr이 됩니다.
자주 묻는 질문
순열과 조합은 어떻게 다른가요?
순서를 따지면 순열, 안 따지면 조합입니다. 5명 중 3명을 뽑아 1·2·3등을 정하는 건 순열(60가지), 그냥 3명을 뽑는 건 조합(10가지)입니다. 순열이 조합보다 항상 크거나 같고, 정확히 3!(=6)배 차이가 납니다.
중복순열·중복조합은 뭔가요?
같은 것을 여러 번 골라도 될 때 씁니다. 5가지 맛 중 3개를 고르는데 같은 맛을 또 골라도 된다면, 순서를 따지면 중복순열 5³ = 125가지, 안 따지면 중복조합 35가지입니다. 비밀번호(순서 ○, 중복 ○)는 중복순열, 아이스크림 고르기(순서 ×, 중복 ○)는 중복조합입니다.
로또 1등 확률은요?
45개 중 6개를 뽑는 조합이므로 8,145,060분의 1입니다. 한 장에 1,000원이니 모든 경우를 다 사려면 8,145,060,000원이 듭니다. 매주 5장씩 사면 평균 약 31,327년에 한 번 1등이 나오는 셈입니다. 당첨금 세금은 로또 당첨금 세금 계산기에서 확인하세요.
팩토리얼은 왜 이렇게 빨리 커지나요?
1부터 n까지 모두 곱하기 때문입니다. 10! = 3,628,800이고 20!은 약 2.4×10¹⁸, 70!부터는 자바스크립트가 표현할 수 있는 범위를 넘어 무한대가 됩니다. 이 계산기는 170!까지만 계산하며 그보다 크면 0으로 표시합니다.
어디에 쓰나요?
시험 문제뿐 아니라 실무에서도 씁니다. 비밀번호 가짓수(중복순열), 조 편성 방법(조합), A/B 테스트 조합 수, 메뉴 구성 가짓수, 당첨 확률 계산 등입니다. 통계 쪽으로 넘어가면 평균·표준편차 계산기, 확률 분포 계산과도 이어집니다.
큰 수도 정확한가요?
조합은 곱셈과 나눗셈을 번갈아 해 오차를 줄이도록 구현했습니다. 다만 자바스크립트가 정확히 표현할 수 있는 정수는 2⁵³(약 9×10¹⁵)까지라 그보다 큰 결과는 끝자리가 부정확할 수 있습니다. 로또 조합 수(814만)처럼 일상적인 범위에서는 문제가 없습니다.