Генератор случайных чисел
Выдаёт случайные числа в диапазоне, выбирает победителей из списка, бросает кубики и монетку — честно и с возможностью проверки по ключу.
Как считается
Генератор выбирает каждое число с равной вероятностью. Источник случайности — криптографический генератор браузера crypto.getRandomValues: он выдаёт 32-битные случайные числа, из которых получается число в нужном диапазоне.
Порог = ⌊2³² / N⌋ × N; если x ≥ порога — x отбрасывается; иначе результат = От + (x mod N)
Например, для диапазона 1–100 (N = 100) порог равен 4 294 967 200: значения x от 4 294 967 200 до 4 294 967 295 отбрасываются, поэтому ни одно число не выпадает чаще других. Без повторов числа выбираются как перемешивание: уже выпавшее больше не участвует.
С ключом вместо crypto используется детерминированный генератор: строка «ключ|от|до|сколько|без повторов (1/0)|исключения» хешируется функцией cyrb128, а из хеша запускается генератор sfc32. Алгоритм зафиксирован и не меняется, поэтому результат по ключу можно повторить в любой момент.
Как пользоваться генератором случайных чисел
Укажите диапазон «от» и «до» — генератор случайных чисел выдаст целое число в этих пределах, включая границы. Чтобы получить сразу несколько чисел, задайте количество (до 10 000). Флажок «Без повторов» гарантирует, что каждое число встретится один раз: так удобно проводить жеребьёвку или раздавать номера. В поле «Исключить» можно перечислить числа и диапазоны, которые не должны выпасть, например «3, 5–7, 12». Быстрые кнопки подставляют популярные диапазоны: от 1 до 10, до 100 и до 1000.
Генератор работает онлайн и бесплатно, на телефоне и на компьютере, без регистрации. Числа создаются прямо в браузере и никуда не отправляются.
Как провести честный розыгрыш
Самый частый сценарий — генератор случайных чисел для розыгрыша в соцсетях: участники оставляют комментарии, а победитель определяется по номеру. Пронумеруйте комментарии, укажите диапазон от 1 до числа участников и нажмите «Сгенерировать». Анимация «барабана» длится две секунды — её удобно записать на видео с экрана. Под результатом указаны параметры и точное время генерации.
Чтобы участники могли сами проверить результат, используйте ключ. Заранее, до розыгрыша, опубликуйте его — например, ссылку на конкурсный пост и дату окончания. После розыгрыша поделитесь ссылкой (кнопка «Ссылка» под результатом): в ней сохранены диапазон, количество и ключ, и любой, кто откроет её, получит те же числа. Подобрать «нужный» результат, не меняя заранее объявленный ключ, нельзя.
Розыгрыши в соцсетях — стимулирующие мероприятия, и закон не требует от них определённого генератора. Главное — заранее опубликовать правила: как нумеруются участники, сколько победителей и как выбирается результат.
Генератор для лотереи «6 из 45» и «5 из 36»
Вкладка «Лотерея» выбирает k разных чисел из n и сортирует их по возрастанию — как в билете. Кнопки подставляют популярные форматы: 5 из 36, 6 из 45, 7 из 49. Помните, что любая комбинация в лотерее одинаково вероятна: «случайные» числа не повышают шанс выигрыша, но избавляют от необходимости придумывать их самому.
Выбор победителя из списка
Если участников удобнее перечислить по именам, перейдите на вкладку «Из списка»: вставьте имена или ники по одному на строку и укажите, сколько нужно победителей. Пустые строки пропускаются, а опция «Удалить дубликаты» убирает повторяющиеся имена, чтобы у каждого участника был один шанс.
Насколько случайны числа
Генератор использует криптографический источник случайности браузера — тот же, что применяется для создания ключей шифрования. Предсказать следующее число по предыдущим невозможно. Чтобы перевести 32-битное случайное значение в диапазон, мы применяем отбраковку: значения, которые дали бы перекос в пользу младших чисел, отбрасываются. Поэтому «счастливых» чисел, которые выпадают чаще, у генератора нет: при большом числе попыток каждое число выпадает примерно одинаково часто. Если вам кажется, что какое-то число выпадает подозрительно часто, — это обычная игра случая на маленькой выборке.
Кубик и монетка онлайн
На вкладке «Кубик и монетка» можно бросить от 1 до 10 кубиков с любым числом граней (от 2 до 100) — генератор покажет значение каждого кубика и сумму. Монетка выдаёт «орёл» или «решка» с вероятностью 50 на 50.
Вопросы и ответы
Как выбрать победителя розыгрыша по номеру комментария?
Пронумеруйте комментарии, укажите диапазон от 1 до числа участников и количество победителей с флажком «Без повторов». Запишите экран во время генерации или используйте ключ, чтобы результат можно было проверить.
Можно ли подкрутить результат?
Без ключа числа выдаёт криптографический генератор браузера, и повлиять на них нельзя. С ключом результат зависит только от ключа и параметров: если ключ объявлен заранее, подобрать нужный результат не получится.
Как сгенерировать числа без повторений?
Включите флажок «Без повторов» и укажите количество. Если чисел нужно больше, чем есть в диапазоне (например, 6 чисел от 1 до 5), генератор предупредит об ошибке.
Какие числа выпадают чаще?
Никакие: каждое число в диапазоне выпадает с одинаковой вероятностью. Для диапазона 1–100 это ровно 1 %. Генератор отбрасывает значения, которые могли бы дать перекос.
Как доказать участникам, что розыгрыш честный?
Опубликуйте ключ до розыгрыша (например, ссылку на пост и дату), а после — ссылку на результат. По ней любой получит те же числа. Дополнительно можно записать экран с анимацией.
Работает ли генератор на телефоне без интернета?
Да, после загрузки страницы числа генерируются в браузере без обращения к серверу, поэтому генератор работает и при пропавшей связи.