🎲 순열·조합 계산기 (경우의 수 nPr · nCr · nHr)
n개 중 r개를 고르는 경우의 수를 순열·조합·중복순열·중복조합으로 한 번에 계산해요. 로또 45C6처럼 큰 값도 끝자리까지 정확하게, 풀이 과정과 확률까지 보여 줘요.
사용법
- n에 전체 개수, r에 고르는 개수를 넣어요. 로또라면 n = 45, r = 6이에요.
- 결과에 순열 nPr · 조합 nCr · 중복순열 n^r · 중복조합 nHr이 한꺼번에 나오고, 위에서 고른 종류는 크게 보여 줘요. 각 값의 한국식 읽기(814만 5,060)와 그중 하나가 나올 확률도 함께 나와요.
- 풀이 칸에는 곱셈·나눗셈 과정을 그대로 적어서 숙제 검산이나 문제 풀이 확인에 쓸 수 있어요. 아래 예시 버튼으로 자주 나오는 상황을 바로 넣어 볼 수 있어요.
순열·조합 공식 한눈에
| 종류 | 순서 | 같은 것 다시 고르기 | 공식 | 예 (n=5, r=3) |
|---|---|---|---|---|
| 순열 nPr | 따짐 | 안 됨 | n! ÷ (n−r)! | 5 × 4 × 3 = 60 |
| 조합 nCr | 안 따짐 | 안 됨 | n! ÷ (r! × (n−r)!) | 60 ÷ 3! = 10 |
| 중복순열 nΠr | 따짐 | 됨 | nr | 5 × 5 × 5 = 125 |
| 중복조합 nHr | 안 따짐 | 됨 | (n+r−1)Cr | 7C3 = 35 |
헷갈릴 때는 두 가지만 물어보면 돼요. ① 뽑은 뒤 순서를 바꾸면 다른 결과인가? (회장·부회장은 다르고, 대표 2명은 같아요) ② 같은 것을 또 고를 수 있나? (비밀번호 숫자는 겹쳐도 되고, 로또 번호는 안 돼요). 순서가 중요하면 순열, 아니면 조합이고, 겹쳐도 되면 앞에 '중복'이 붙어요.
계산 예시 — 실제 상황 7가지
| 상황 | 종류 | 경우의 수 |
|---|---|---|
| 로또 6/45 번호 6개 고르기 | 조합 45C6 | 8,145,060 |
| 30명 중 회장·부회장 뽑기 | 순열 30P2 | 870 |
| 30명 중 대표 2명 뽑기 | 조합 30C2 | 435 |
| 4자리 숫자 비밀번호 | 중복순열 10Π4 = 10⁴ | 10,000 |
| 사탕 5개를 3명에게 나누기 (0개 가능) | 중복조합 3H5 = 7C5 | 21 |
| 트럼프 52장 중 5장 패 | 조합 52C5 | 2,598,960 |
| 10명 중 1·2·3등 시상 | 순열 10P3 | 720 |
같은 30명에서 2명을 뽑아도 회장·부회장처럼 자리가 다르면 870가지, 그냥 대표 2명이면 그 절반인 435가지예요. 2명을 고른 뒤 둘의 순서를 바꾸는 방법(2! = 2)만큼 순열이 많기 때문이에요. 일반적으로 nPr = nCr × r!이에요.
로또 6/45 당첨 확률 직접 계산
로또 6/45는 1~45 중 서로 다른 번호 6개를 고르고 순서는 상관없으니 조합이에요. 전체 경우는 45C6 = 45 × 44 × 43 × 42 × 41 × 40 ÷ 720 = 8,145,060가지예요. 등수별 경우의 수는 당첨 번호 6개 중 몇 개, 나머지 39개 중 몇 개를 고르는지로 나눠 세요.
| 등수 | 조건 | 경우의 수 | 확률 |
|---|---|---|---|
| 1등 | 6개 모두 일치 | 6C6 = 1 | 1 / 8,145,060 |
| 2등 | 5개 + 보너스 번호 | 6C5 × 1 = 6 | 1 / 1,357,510 |
| 3등 | 5개 일치 (보너스 제외) | 6C5 × 38 = 228 | 약 1 / 35,724 |
| 4등 | 4개 일치 | 6C4 × 39C2 = 15 × 741 = 11,115 | 약 1 / 733 |
| 5등 | 3개 일치 | 6C3 × 39C3 = 20 × 9,139 = 182,780 | 약 1 / 44.6 |
5등까지 하나라도 될 경우는 모두 194,130가지라 1게임에서 무언가에 당첨될 확률은 약 1/42.0(2.38%)이에요. 번호를 어떻게 고르든 한 게임의 1등 확률은 똑같이 1/8,145,060이고, 복권 운영 방식은 동행복권에서 볼 수 있어요.
왜 큰 수도 정확하게 나오나요
보통 계산기는 소수점 15~16자리까지만 정확해서 100C50(30자리)이나 30!처럼 큰 값은 끝자리가 뭉개져요. 이 계산기는 자바스크립트의 임의 정밀도 정수(BigInt)로 곱셈과 나눗셈을 번갈아 해서 중간 값도 늘 정수로 유지해요. 예를 들어 100C50 = 100,891,344,545,564,193,334,812,497,256처럼 끝자리까지 나와요. n과 r은 각각 1,000까지 넣을 수 있어요.
흔한 실수
- 순서가 없는데 순열로 셈 — "3명을 뽑아 팀을 만든다"는 조합이에요. 순열로 세면 3! = 6배 많아져요.
- 0!을 0으로 봄 — 0! = 1이에요. 그래서 nC0 = nCn = 1, nP0 = 1이에요.
- 중복조합에서 n과 r을 바꿈 — 사탕 5개를 3명에게 나누면 "3명 중에서 5번 고르기"라 3H5 = 7C5 = 21이에요. 5H3 = 7C3 = 35와 다른 값이에요.
- r이 n보다 클 때 — 겹치지 않게 고르는 순열·조합은 0가지예요. 중복순열·중복조합은 r이 n보다 커도 계산돼요.
계산은 모두 이 브라우저 안에서 정수로 해요. 순열·조합의 원리와 문제 유형은 순열 조합 차이와 공식 정리 글에 예제와 함께 정리했어요. 번호를 직접 뽑아 보려면 로또 번호 생성기를 써 보세요.