랜덤 숫자 추첨기: 범위만 정하면 바로 뽑기
랜덤 숫자 추첨기는 최솟값과 최댓값(예: 1~100, 0~100), 개수만 정하면 바로 숫자를 뽑습니다. 「중복 없이」를 켜면 추첨함에서 번호표를 꺼내듯 같은 숫자는 한 번만 나옵니다. 학급 번호 뽑기, 이벤트 당첨 번호, 순서 정하기에 쓰세요.
출처: W3C Recommendation, W3C Web Cryptography API – getRandomValues(). 업데이트: .
계산 방법
최솟값부터 최댓값까지(양 끝 포함) 모든 정수가 같은 확률로 나옵니다. 1~100이면 후보는 100개이고 숫자마다 1%, 0~100이면 101개입니다. 난수는 브라우저의 암호학적으로 안전한 난수 생성기 crypto.getRandomValues()에서 얻습니다. 범위에 맞출 때 치우침을 만드는 값은 버리고 다시 뽑기 때문에 특정 숫자가 잘 나오는 일은 없습니다.
중복 허용과 중복 없이의 차이
- 중복 없이는 추첨함과 같아서 꺼낸 공을 다시 넣지 않습니다. 번호표 추첨, 학급 자리 뽑기, 발표 순서, 표본 추출에 맞습니다.
- 중복 허용은 주사위를 여러 번 던지는 것과 같아서 같은 숫자가 몇 번이든 나올 수 있습니다. 시뮬레이션이나 숫자끼리 서로 독립이어야 할 때 씁니다.
중복 없이 뽑을 때는 플로이드(Floyd) 알고리즘을 씁니다. 1~10억처럼 범위가 커도 모든 숫자를 메모리에 늘어놓지 않고, 어떤 조합이든 정확히 같은 확률로 고릅니다. 그다음 피셔-예이츠 셔플로 순서를 섞습니다.
예: 1~100에서 중복 없이 5개
최솟값 1, 최댓값 100, 개수 5를 넣고 「중복 없이」를 켭니다. 어떤 숫자가 5개 안에 들어갈 확률은 5%(100분의 5)입니다. 특정한 5개 조합이 나올 확률은 100개에서 5개를 고르는 경우의 수에 따라 75,287,520분의 1입니다. 두 값 모두 입력란 바로 아래에 표시됩니다.
중복을 허용하면 같은 숫자가 두 번 나오는 일이 생각보다 흔합니다. 1~100에서 10개를 뽑으면 적어도 한 쌍이 겹칠 확률이 37.2%입니다(1 − 100 × 99 × … × 91 ÷ 10010). 번호 추첨에서 공을 다시 넣지 않는 것도 이 때문이며, 빠른 선택 「1~45 중 6개」는 자동으로 중복 없이 정렬해서 뽑습니다.
이럴 때 쓰세요
- 학급 번호 뽑기: 반 인원이 28명이면 1~28로 정하고 발표할 번호를 뽑습니다. 「중복 없이」와 개수 28을 고르면 전원의 발표 순서가 한 번에 나옵니다.
- 이벤트·경품 추첨: 댓글이나 응모 순서대로 번호를 매기고, 그 범위에서 당첨 번호를 중복 없이 뽑습니다.
- 1~45 중 6개: 로또 6/45와 같은 숫자 범위입니다. 빠른 선택을 누르면 1~45에서 서로 다른 6개를 정렬해서 보여 줍니다. 서로 다른 조합은 모두 8,145,060가지이고, 어떤 방법으로 고르든 각 조합의 확률은 똑같이 8,145,060분의 1입니다. 랜덤으로 뽑는다고 맞힐 확률이 올라가지는 않습니다.
- 1 또는 2, 1~3, 1~6: 범위만 정하면 확률은 각각 1/2, 1/3, 1/6입니다. 둘 중 하나라면 동전 던지기, 보드게임이라면 주사위 굴리기가 더 직관적입니다.
- 0 포함: 0~100은 100개가 아니라 101개입니다.
- 네 자리 숫자: 0~9999로 하면 0000~9999(앞자리 0은 생략해 표시), 1000~9999로 하면 0으로 시작하지 않는 네 자리가 나옵니다.
- 소수: 「소수점 아래 자릿수」를 1~6으로 하면 소수를 뽑습니다. 0~10에서 두 자리로 하면 0.00~10.00, 모두 1,001가지 값이 같은 확률로 나옵니다.
숫자 대신 이름이나 메뉴에서 고르려면 돌림판을, 참가자마다 결과를 하나씩 짝지으려면 사다리 타기를 쓰세요.
의사 난수가 아닌 암호학적 난수
간단한 숫자 생성기는 대부분 Math.random()을 씁니다. 계산으로 수열을 만드는 의사 난수라서 내부 상태를 알면 예측할 수 있고 암호용으로는 적합하지 않습니다. 이 도구는 crypto.getRandomValues()를 씁니다. 운영체제가 하드웨어 잡음 같은 실제 엔트로피에서 시드를 얻는, 암호학적으로 안전한 난수 생성기(CSPRNG)입니다. 매번의 추첨은 이전 결과와 독립이므로, 중복 허용에서 같은 숫자가 연달아 나와도 오류가 아니라 독립이라는 증거입니다.
자주 묻는 질문
진짜 랜덤인가요, 의사 난수인가요?
암호학적으로 안전한 난수입니다. 많은 도구가 쓰는 단순한 의사 난수(Math.random()) 대신 Web Crypto API(CSPRNG)에서 값을 얻습니다. 게임, 추첨 등 대부분의 용도에 충분합니다. 암호 키 생성처럼 특히 높은 보안이 필요하다면 전용 암호 라이브러리를 쓰세요.
1~100이나 0~100 사이 랜덤 숫자는 어떻게 뽑나요?
1~100은 「1~100」 빠른 선택을 누르면 됩니다. 0~100은 최솟값에 0, 최댓값에 100을 넣으세요. 이때는 0도 포함되어 후보가 101개입니다.
학급 번호 뽑기나 발표 순서 정하기에 쓸 수 있나요?
네. 1부터 반 인원수까지 범위를 정하고 「중복 없이」를 켠 뒤 개수를 인원수와 같게 하면, 모든 번호가 한 번씩 섞인 순서로 나옵니다. 「결과를 작은 순서로 정렬」은 꺼 두세요.
1~45 중 6개 번호를 뽑으면 맞힐 확률이 높아지나요?
아닙니다. 1~45에서 서로 다른 6개를 고르는 조합은 8,145,060가지이고, 직접 고르든 랜덤으로 뽑든 각 조합의 확률은 똑같습니다. 이 도구는 숫자를 뽑아 줄 뿐 결과를 예측하지 않습니다.
랜덤 네 자리 숫자는 어떻게 만드나요?
최솟값 1000, 최댓값 9999를 넣으면 0으로 시작하지 않는 네 자리가 나옵니다. 비밀번호처럼 0으로 시작하는 숫자도 포함하려면 0~9999로 하고, 모자란 자리 앞에 0을 붙여 읽으세요.
음수도 쓸 수 있나요?
네, 예를 들어 −10~10처럼 지정할 수 있습니다. ±1,000조까지의 정수를 쓸 수 있습니다.
중복 허용에서 같은 숫자가 두 번 나오는 이유는?
주사위를 연달아 던질 때처럼 매번의 추첨이 독립이기 때문입니다. 같은 숫자가 두 번 나오는 것은 오류가 아니며 횟수가 많으면 당연히 생깁니다. 숫자마다 한 번만 나오게 하려면 「중복 없이」를 켜세요.
엑셀에서 랜덤 숫자를 만들려면?
1~100 정수는 =RANDBETWEEN(1,100), 0 이상 1 미만 소수는 =RAND()를 씁니다. 둘 다 시트를 바꿀 때마다 다시 계산됩니다. 중복 없이 여러 개를 뽑는 함수 하나는 따로 없어서, 그럴 때는 이 도구가 더 간편합니다.
설정을 공유할 수 있나요?
네. 범위, 개수, 옵션은 주소창에 자동으로 저장됩니다. 그 링크를 연 사람에게는 같은 설정이 보이고, 숫자는 매번 새로 뽑힙니다.
출처 및 근거
- W3C Recommendation: W3C Web Cryptography API – getRandomValues()
- MDN Web Docs – Crypto.getRandomValues() (영문)
업데이트: · 편집 원칙
관련 도구
- 주사위 굴리기: d6, d20, 1d100까지온라인 주사위 굴리기 사이트. 1개부터 10개까지 한 번에 던지고 합계와 확률을 바로 봅니다. d4~d100, 3d6+2 같은 TRPG 표기, 이점·불리, 기록, 공유 링크도 지원합니다.
- 이름 뽑기: 랜덤 당첨자 추첨과 순서 정하기무료 랜덤 이름 뽑기 프로그램. 명단을 붙여 넣고 당첨자를 중복 없이 뽑거나 발표 순서를 섞거나 조를 나눕니다. 회원가입 없이 쓰고 결과는 복사해 공유합니다.
- 동전 던지기: 앞면일까 뒷면일까온라인 동전 던지기. 한 번에 1~1,000개를 던지고 앞면·뒷면 이름도 바꿀 수 있습니다. 비율과 연속 기록을 바로 집계하는 확률 시뮬레이션으로, 가입 없이 무료입니다.
- 스도쿠: 무료로 풀고 풀이 과정까지 확인무료 스도쿠 게임. 초급, 중급, 고급, 최고급 4단계 문제를 풀고, 책이나 신문의 문제를 입력하면 풀이를 한 단계씩 설명합니다. 메모, 힌트, 인쇄도 됩니다.
- 팀 나누기: 랜덤으로 공평하게 팀 짜기무료 팀 나누기 사이트. 이름을 붙여 넣고 팀 수나 한 팀 인원을 고르면 랜덤으로 팀을 짭니다. 실력 점수로 고르게 나누고 서로 떨어뜨릴 사람도 정할 수 있습니다.
- 사다리 타기 게임: 이름을 적고 누르기만 하면 끝무료 온라인 사다리 타기 게임. 이름과 당첨·꽝을 적고 이름을 누르면 선을 따라 내려가 결과가 나옵니다. 최대 20명, 결과는 링크로 공유하고 인쇄도 됩니다.
- 비밀번호 생성기: 랜덤 비밀번호 만들기무료 비밀번호 생성기. 영문·숫자·특수문자 조합 랜덤 비밀번호나 외우기 쉬운 패스프레이즈를 만들고 강도를 비트로 보여 줍니다. 브라우저 안에서만 생성됩니다.
- 조합 계산기: 순열과 조합 경우의 수무료 조합 계산기. 순열 nPr, 조합 nCr, 중복순열 nΠr, 중복조합 nHr의 경우의 수를 공식과 풀이로 구합니다. 아주 큰 수도 정확히 계산하고 네 경우를 한눈에 비교합니다.
- 스네이크 게임 (지렁이 게임)무료 스네이크 게임. 먹이를 먹을수록 길어지는 뱀이 제 꼬리에 부딪히지 않게 움직이는 지렁이 게임입니다. 키보드와 스와이프 모두 되고 최고 기록이 저장됩니다.