이 도구의 기능
정수 균등 난수 생성기는 사용자가 지정한 범위(양 끝값 포함) 안에서 균등하게 뽑은 랜덤 정수 목록을 만들어 줍니다. 여기서 '균등'이란 하한값과 상한값 사이의 모든 정수가 똑같은 확률로 나타난다는 뜻입니다. 몇 개의 숫자를 생성할지, 그리고 같은 값이 두 번 이상 나와도 되는지를 직접 정할 수 있습니다. 로또 번호 뽑기, 주사위·게임 굴림, 데이터셋에서 표본 추출, ID 부여, A/B 테스트 그룹 배정, 통계 수업 시연 등 다양한 상황에서 유용합니다.
사용 방법
'시작 범위(Range from)'에 하한값을, 'to'에 상한값을 입력하세요(1부터 100000까지의 정수). '개수 / 수량(Count / Quantity)'에는 원하는 숫자 개수를 1부터 100까지 설정합니다. 중복을 허용하려면 '허용'(복원 추출)을, 모든 값을 서로 다르게 뽑으려면 '허용 안 함'(비복원 추출)을 선택하세요. 만약 상한값과 하한값을 반대로 입력해도 도구가 자동으로 순서를 바꿔 줍니다.
계산 공식 설명
범위 \([\text{lo}, \text{hi}]\)에는 \(N = \text{hi} - \text{lo} + 1\)개의 서로 다른 정수가 들어 있습니다. 한 번의 추출은 다음과 같이 계산되며,
$$r = \text{lo} + \left\lfloor U \cdot N \right\rfloor$$여기서 \(U\)는 \([0, 1)\) 구간의 균등 분포 실수입니다. \(U\)에 \(N\)을 곱하고 내림(floor)하면 0부터 \(N-1\)까지의 정수가 나오고, 여기에 \(\text{lo}\)만큼 더해 위로 이동시킵니다. 이렇게 하면 각 후보값이 정확히 \(1/N\)의 확률을 갖게 됩니다. 중복을 허용하면 요청한 개수만큼 이 추출을 독립적으로 반복합니다. 중복을 허용하지 않으면 이미 뽑힌 값은 버리고 계속 추출하여 서로 다른 숫자를 요청한 개수만큼 모으는데, 이때는 개수가 \(N\)보다 클 수 없습니다.
예제로 보기
범위 1부터 6, 개수 5, 중복 허용으로 설정하면 각 추출은 다음과 같이 계산되어 6면체 주사위처럼 동작합니다.
$$r = 1 + \left\lfloor U \cdot 6 \right\rfloor$$가능한 결과로는 4, 1, 6, 4, 2가 있습니다(4가 반복되지만 허용되므로 괜찮습니다). 중복을 허용하지 않으면 3, 5, 1, 6, 2처럼 서로 다른 다섯 개의 값이 나옵니다. 1부터 6 범위에서 서로 다른 값 7개를 요청하는 것은 정수가 여섯 개뿐이라 불가능합니다.
자주 묻는 질문
왜 실행할 때마다 결과가 달라지나요? 이 생성기는 비결정적(non-deterministic)입니다. 실행할 때마다 새로운 랜덤 값을 뽑기 때문에 결과가 달라지는 것이 정상입니다.
최솟값과 최댓값이 같아도 되나요? 네, 가능합니다. 두 값이 같으면 \(N = 1\)이 되어 그 숫자 하나만 나올 수 있습니다.
존재하는 것보다 많은 고유 숫자를 요청하면 어떻게 되나요? '허용 안 함' 모드에서는 요청을 충족할 만큼 서로 다른 정수가 부족하기 때문에 도구가 오류를 표시합니다.