최솟값과 최댓값으로 범위를 정하고 몇 개를 뽑을지 적으면, 그 범위 안의 정수를 무작위로 골라 주는 도구입니다. 처음 열었을 때는 1부터 45까지 여섯 개를 중복 없이 뽑는 설정으로 되어 있어 로또 번호를 뽑아 보기 좋고, 숫자만 바꾸면 추첨 당첨자 번호 고르기, 반 편성, 발표 순서 정하기, 테스트용 더미 값 만들기 같은 데에도 씁니다.
난수는 브라우저의 암호학적 난수 생성기(crypto.getRandomValues)를 씁니다. 흔히 쓰는 Math.random보다 예측하기 어려운 값이고, 게다가 나머지 연산에서 생기는 미세한 치우침까지 없앴어요. 32비트 난수를 뽑았을 때 범위로 나누어떨어지지 않는 꼬리 구간에 값이 걸리면 그 값을 버리고 다시 뽑는 방식이라, 범위 안의 모든 숫자가 정확히 같은 확률로 나옵니다.
중복 허용을 꺼 두면 범위 전체를 후보 목록으로 만들어 하나씩 꺼내고 목록에서 지우는 방식이라, 같은 숫자가 두 번 나오지 않습니다. 이때 뽑을 개수가 범위보다 크면 뽑을 수가 없으므로 안내 문구가 뜹니다. 중복 허용을 켜면 매번 독립적으로 뽑기 때문에 같은 숫자가 여러 번 나올 수 있어요. 오름차순 정렬 옵션은 결과를 작은 수부터 늘어놓는 것으로, 끄면 뽑힌 순서 그대로 보여 줍니다.
A네. 32비트 난수를 범위로 나눌 때 남는 꼬리 구간의 값은 버리고 다시 뽑는 방식(리젝션 샘플링)을 써서, 특정 숫자가 조금 더 자주 나오는 치우침을 없앴습니다.
A오류가 나지 않습니다. 두 값의 크기를 비교해 자동으로 뒤바꾼 뒤 계산하므로 45와 1을 반대로 넣어도 같은 결과가 나옵니다.
A예를 들어 1~5에서 중복 없이 8개를 뽑을 수는 없기 때문입니다. 개수를 범위 크기 이하로 줄이거나 중복 허용에 체크해 주세요.
A됩니다. 최소에 -10, 최대에 10처럼 넣으면 음수를 포함한 21개 숫자 중에서 뽑습니다. 최댓값과 최솟값 자신도 뽑힐 수 있는 범위에 들어갑니다.
A정수만 뽑습니다. 소수점이 들어간 값을 넣으면 내림해서 정수로 처리해요. 소수 난수가 필요하면 큰 범위로 뽑은 뒤 나누어 쓰는 방법이 있습니다.
A시드를 지정하는 기능은 없습니다. 매번 새 난수를 만들기 때문에 같은 설정으로도 결과가 달라지며, 필요한 결과는 복사해 두는 편이 좋습니다.
A뽑힌 순서 그대로 늘어놓습니다. 추첨 순위를 정하거나 발표 순서를 뽑을 때처럼 순서 자체가 의미 있는 경우에 정렬을 꺼 두세요.
A기록되지 않습니다. 난수 생성부터 결과 표시까지 모두 브라우저 안에서 끝나고, 페이지를 새로 열면 결과가 사라집니다.