"로또 1등 확률은 814만 분의 1"이라는 말은 누구나 들어 봤지만, 그 숫자가 어떻게 나오는지 아는 사람은 많지 않습니다. 계산 자체는 고등학교 수학의 조합(combination) 하나면 충분합니다. 이 글은 등수별 확률을 처음부터 직접 계산해 보면서, 그 숫자가 실제로 무엇을 의미하는지 감을 잡는 것이 목적입니다. 당첨 확률을 높이는 방법을 알려 주는 글은 아닙니다 — 그런 방법은 없다는 것을 계산으로 확인하는 글입니다.
로또 6/45는 1~45 중 서로 다른 6개를 고르고, 순서는 상관없습니다(1-2-3-4-5-6이나 6-5-4-3-2-1이나 같은 조합). 이럴 때 경우의 수는 조합 공식으로 구합니다.
C(45, 6) = 45 × 44 × 43 × 42 × 41 × 40 / (6 × 5 × 4 × 3 × 2 × 1)
= 5,864,443,200 / 720
= 8,145,060
분자는 45에서 시작해 6개를 곱한 값, 분모는 6개를 나열하는 순서의 수(6! = 720)입니다. 순서가 다른 것을 같은 조합으로 묶으려고 720으로 나눕니다. 이렇게 나온 8,145,060가지가 모든 조합이고, 각 조합이 뽑힐 확률은 모두 똑같이 1/8,145,060입니다.
내가 고른 6개가 당첨 6개와 정확히 같은 경우는 딱 1가지입니다. 그러므로 확률은 1 / 8,145,060, 약 0.000012%입니다.
체감을 위해 비교해 보면, 매주 1게임씩 산다고 할 때 1/8,145,060을 "평균적으로 한 번 나오는 횟수"로 환산하면 약 814만 주, 즉 15만 년 이상입니다 (8,145,060 ÷ 52주 ≈ 156,636년). 5게임씩 사더라도 약 3만 1천 년입니다.
당첨 번호는 6개 + 보너스 1개입니다. 이 45개 숫자는 세 무리로 나뉩니다: 당첨 번호 6개, 보너스 번호 1개, 나머지 38개. 일부만 맞히는 경우는 "당첨 번호 6개 중 몇 개를 고르고, 나머지 자리를 어디서 채우는가"로 셉니다.
| 등수 | 조건 | 경우의 수 계산 | 경우의 수 |
|---|---|---|---|
| 1등 | 6개 일치 | C(6,6) = 1 | 1 |
| 2등 | 5개 + 보너스 | C(6,5) × 1 (보너스 고정) | 6 |
| 3등 | 5개 일치 (보너스 아님) | C(6,5) × 38 | 228 |
| 4등 | 4개 일치 | C(6,4) × C(39,2) = 15 × 741 | 11,115 |
| 5등 | 3개 일치 | C(6,3) × C(39,3) = 20 × 9,139 | 182,780 |
3등의 "38"은 나머지 한 자리를 당첨 번호도 보너스도 아닌 숫자에서 골라야 3등이 되기 때문입니다(보너스를 고르면 2등). 4등·5등의 "39"는 당첨 번호 6개를 뺀 나머지 39개(보너스 번호 포함)입니다. 4개나 3개 일치에서는 나머지 자리가 보너스 번호여도 등수가 달라지지 않기 때문에 39개 전부에서 고릅니다.
이제 각 경우의 수를 전체 8,145,060으로 나누면 확률이 나옵니다.
| 등수 | 확률 | 대략 몇 분의 1 |
|---|---|---|
| 1등 | 0.000012% | 1 / 8,145,060 |
| 2등 | 0.000074% | 1 / 1,357,510 |
| 3등 | 0.0028% | 1 / 35,724 |
| 4등 | 0.136% | 1 / 733 |
| 5등 | 2.244% | 1 / 45 |
| 5등 이상 아무거나 | 2.383% | 1 / 42 |
마지막 줄은 위 다섯 가지 경우의 수를 더한 194,130을 전체로 나눈 값입니다. 뒤집어 말하면 1게임의 약 97.6%는 아무것도 당첨되지 않습니다. 가장 흔한 5등도 약 45번에 한 번꼴이라, 매주 1게임씩 사면 평균적으로 1년에 한 번 조금 넘게 5등이 나오는 정도입니다.
아래는 브라우저 콘솔이나 Node.js에서 그대로 실행해 볼 수 있는 계산 코드입니다.
function C(n, k) { // 조합 C(n, k)
let r = 1;
for (let i = 1; i <= k; i++) r = r * (n - k + i) / i;
return Math.round(r);
}
const total = C(45, 6); // 8145060
const ways = {
'1등': 1,
'2등': 6,
'3등': C(6, 5) * 38, // 228
'4등': C(6, 4) * C(39, 2), // 11115
'5등': C(6, 3) * C(39, 3), // 182780
};
for (const [rank, n] of Object.entries(ways)) {
console.log(rank, n, '1 /', (total / n).toFixed(1));
}
확률이 아주 낮다는 것과 누군가는 반드시 당첨된다는 것은 모순이 아닙니다. 전국적으로 수백만 게임이 팔리기 때문에 매주 누군가는 당첨되지만, 그 "누군가"가 나일 확률은 여전히 814만 분의 1입니다. 다른 사람의 당첨 소식은 내 확률을 조금도 바꾸지 않습니다.
이 글의 수치는 6/45 규칙에서 수학적으로 도출한 값이며, 등수별 당첨금과 회차별 세부 규정은 운영사(동행복권)의 공식 공지를 확인해야 합니다. 이 사이트는 운영사와 관련 없는 비공식 참고용 도구입니다.