CalcBang

랜덤 숫자 생성기 - 로또·추첨·랜덤

※ 본 랜덤 숫자 생성기는 의사 난수(pseudo-random)를 사용하며, 암호학적 보안 용도로는 적합하지 않습니다.

랜덤 숫자 생성 방법

랜덤 숫자 생성기는 지정된 범위와 조건에서 무작위 숫자를 생성하는 도구입니다. 추첨, 게임, 통계 표본 추출 등에 활용됩니다.

사용법

  1. 최소값/최대값 입력 — 숫자를 뽑을 범위를 지정합니다.
  2. 개수 입력 — 몇 개의 숫자를 생성할지 정합니다.
  3. 중복 허용 여부 선택 — 같은 숫자 중복 가능 여부.
  4. 생성 버튼 클릭 — 결과가 즉시 표시됩니다.

활용 예시별 설정

용도최소최대개수중복확률
로또 6/451456불허1/8,145,060
동전 던지기 (앞1/뒤2)121허용1/2
주사위 1개161허용1/6
주사위 2개162허용각 1/6
당첨자 추첨 (30명 중 5명)1305불허각 1/6 ~ 1/26
조 편성 (20명, 5개조)12020불허셔플 후 4명씩
카드 뽑기1521허용1/52
비밀번호 숫자096허용10^6 = 100만 가지

확률 기본 공식

상황공식예시
특정 숫자 1개 선택 확률1/N1~45에서 특정 수: 1/45
중복 불허 k개 선택 (순서 무관)1/C(N,k)로또: 1/C(45,6) = 1/8,145,060
중복 허용 k개 선택1/N^k4자리 PIN: 1/10^4 = 1/10,000

확률 계산 예시

예시 1: 로또 6/45 당첨 확률

  • 45개 중 6개를 순서 없이 선택: C(45,6) = 45! / (6! × 39!) = 8,145,060
  • 1등 확률: 1/8,145,060 (약 0.0000123%)
  • 매주 1장씩 산다면 평균 156,636년에 1번 당첨

예시 2: 주사위 2개 합이 7이 될 확률

  • 전체 경우의 수: 6 × 6 = 36
  • 합이 7인 경우: (1,6), (2,5), (3,4), (4,3), (5,2), (6,1) = 6가지
  • 확률: 6/36 = 1/6 ≈ 16.7%

예시 3: 30명 중 5명 추첨에서 내가 뽑힐 확률

  • 확률: 5/30 = 1/6 ≈ 16.7%

Fisher-Yates 셔플 알고리즘

중복 없는 숫자 생성에는 Fisher-Yates(Knuth) 셔플 알고리즘을 사용합니다.

알고리즘 단계:

  1. 배열 [1, 2, 3, ..., N]을 생성
  2. 마지막 원소부터 시작하여 랜덤한 위치의 원소와 교환
  3. 두 번째 마지막 원소로 이동하여 반복
  4. 앞에서 필요한 k개만 취함

이 방식은 모든 순열이 동일한 확률로 나타나는 편향 없는(unbiased) 셔플을 보장합니다. 시간 복잡도는 O(n)입니다.

난수의 종류

유형방식용도예시
의사 난수 (PRNG)알고리즘 기반게임, 시뮬레이션, 추첨Math.random()
암호학적 난수 (CSPRNG)하드웨어 엔트로피암호화, 보안 키crypto.getRandomValues()
진정한 난수 (TRNG)물리적 현상과학 실험, 복권대기 노이즈, 방사성 붕괴

주요 복권·게임 확률 비교

게임방식1등 확률비교
로또 6/4545개 중 6개1/8,145,060벼락 맞을 확률의 약 80배
연금복권7자리 번호 일치1/5,000,000로또보다 약간 유리
스포츠토토경기 결과 예측경우에 따라 상이분석 가능
동전 10회 연속 앞10회 연속1/1,024약 0.1%
생일 같은 사람 (23명)생일 역설약 50%직관보다 높음

실용 팁

  1. 추첨 공정성 — 공정한 추첨을 위해 중복 불허 모드를 사용하고, 첫 번째 결과를 확정하세요.
  2. 로또 번호 참고 — 모든 번호 조합의 확률은 동일하므로, '운 좋은 번호'는 존재하지 않습니다.
  3. 조 편성 활용 — 전체 인원을 셔플한 뒤 순서대로 N명씩 나누면 공정한 조 편성이 가능합니다.
  4. 표본 추출 — 설문 조사 등에서 무작위 표본을 추출할 때 중복 불허 모드를 사용하세요.
  5. 보안 주의 — 비밀번호 생성에 이 도구를 사용할 때는 숫자만으로는 보안이 약하므로, 영문+숫자+특수문자를 조합하세요.

참고

  • Fisher, R. A. & Yates, F. (1938). "Statistical Tables for Biological, Agricultural and Medical Research"
  • Knuth, D. E. (1997). "The Art of Computer Programming, Volume 2: Seminumerical Algorithms"
  • random.org: 대기 노이즈 기반 진정한 난수 생성 서비스

※ 이 계산기는 의사 난수(PRNG) 기반으로, 일반적인 추첨·게임 용도에 적합합니다. 암호학적 보안이 필요한 용도에는 적합하지 않습니다.

자주 묻는 질문

랜덤 숫자 생성기란 무엇인가요?

지정한 범위 내에서 무작위로 숫자를 뽑아주는 도구입니다. 추첨, 표본 추출, 게임, 비밀번호 생성 등 다양한 용도로 활용할 수 있습니다. 컴퓨터의 난수 생성 알고리즘을 이용하여 편향 없는 균일한 분포의 결과를 제공합니다.

중복 허용과 중복 불허의 차이는 무엇인가요?

중복 허용은 같은 숫자가 여러 번 나올 수 있고, 중복 불허는 모든 숫자가 서로 다르게 생성됩니다. 로또 번호처럼 겹치면 안 되는 경우 중복 불허를 선택하세요. 주사위 여러 번 굴리기처럼 같은 값이 나올 수 있는 경우는 중복 허용을 선택합니다.

로또 번호 생성은 어떻게 하나요?

로또 프리셋 버튼을 누르면 1~45 범위에서 중복 없이 6개의 숫자가 자동으로 생성됩니다. 생성 버튼을 다시 누르면 새로운 번호를 받을 수 있습니다. 참고로 한국 로또(로또 6/45)의 1등 당첨 확률은 약 1/8,145,060(약 814만분의 1)입니다.

생성된 숫자는 정말 무작위인가요?

브라우저의 Math.random() 함수를 사용한 의사 난수(pseudo-random number)입니다. 시드(seed) 값에서 시작하여 알고리즘으로 생성하지만, 일반적인 추첨이나 게임 용도로는 충분히 무작위합니다. 암호학적 보안이 필요한 경우에는 crypto.getRandomValues() 같은 CSPRNG를 사용해야 합니다.

최대 몇 개까지 생성할 수 있나요?

한 번에 최대 1,000개까지 생성할 수 있습니다. 중복 불허 시에는 범위 크기 이내로만 생성 가능합니다. 예를 들어 1~10 범위에서 중복 불허 시 최대 10개, 1~45 범위에서는 최대 45개입니다. 중복 허용 시에는 범위에 관계없이 1,000개까지 가능합니다.

난수 생성의 균일성은 어떻게 보장되나요?

Fisher-Yates 셔플 알고리즘(중복 불허 시)과 균일 분포 난수 생성기를 사용하여 각 숫자가 선택될 확률이 동일하도록 보장합니다. 예를 들어 1~6 범위에서 1개를 생성하면, 각 숫자(1~6)가 선택될 확률은 정확히 1/6입니다.

추첨에서 공정성을 어떻게 확보하나요?

공정한 추첨을 위해: 1) 중복 불허 모드 사용, 2) 참가자 번호를 1~N으로 부여, 3) 결과를 즉시 공개, 4) 여러 번 재생성하지 않기(첫 결과 사용), 5) 필요시 추첨 과정을 녹화·공증. 법적으로 중요한 추첨은 공인된 추첨 방식(물리적 추첨기 등)을 사용하는 것이 좋습니다.

관련 계산기