Случайный выбор из списка

Выбираем один или несколько вариантов без технического перекоса — и показываем каждое действие

Что нужно сделать?

Случайно выбрать из списка
Правила выбора

Список обрабатывается в браузере и не сохраняется.

Результат появится здесьНажмите «Выбрать случайно» — ниже будут показаны не только выбранные строки, но и все действия проверки.
Криптографический источникОбновлено 15 июля 2026

Как работает случайный выбор из списка

Представьте коробку с бумажными билетами. Каждая непустая строка становится одним билетом. Сервис не просто показывает готовый ответ: он объясняет, сколько билетов участвовало, как случайное число превратилось в индекс и почему у вариантов нет технического преимущества.

Шаг 1. Подготавливаем строки

Ввод читается сверху вниз. Пробелы перед первым и после последнего символа удаляются, а пустые строки пропускаются. Пробелы между словами сохраняются, поэтому «Новый участник» остаётся двумя словами одного варианта.

« Анна » → «Анна»; пустая строка → не участвует

Шаг 2. Понимаем, как повторы меняют шанс

Если строка «Анна» записана два раза и дубли не удалены, в наборе лежат два билета «Анна». При одном билете «Борис» вероятность получить текст «Анна» равна 2 из 3, а «Борис» — 1 из 3.

ВариантБилетовДоляШанс
Анна22 ÷ 3≈ 66,666667%
Борис11 ÷ 3≈ 33,333333%
Итого33 ÷ 3100%

Если включить удаление одинаковых строк, у Анны и Бориса останется по одному билету, поэтому каждый получит шанс 1 из 2, то есть 50%.

Шаг 3. Получаем число от Web Crypto

Web Crypto создаёт беззнаковое 32-битное число. Минимум равен 0, максимум — 4 294 967 295. Всего существует 4 294 967 296, или 2³², возможных значений. Это источник случайности, предусмотренный браузером для задач, где обычного псевдослучайного числа недостаточно.

0 ≤ u ≤ 4 294 967 295

Шаг 4. Убираем перекос остатка от деления

Допустим, есть 3 билета. Числа от 0 до 4 294 967 294 можно разбить на одинаковые тройки. Последнее число 4 294 967 295 остаётся без пары и создало бы лишний исход для индекса 0. Поэтому оно отбрасывается, и браузер берёт новое число.

  1. Находим границу: L = ⌊2³² ÷ 3⌋ × 3 = 4 294 967 295.
  2. Проверяем число: если u меньше L, оно входит в полный набор троек.
  3. Получаем индекс: u mod 3 даёт только 0, 1 или 2.
  4. Выбираем билет: 0 — первый, 1 — второй, 2 — третий.

Шаг 5. Выбираем с повторами или без повторов

Без повторовБилет удаляетсяСледующий выбор идёт среди оставшихся билетов.С повторамиБилет возвращаетсяКоличество билетов не меняется, результат может повториться.

Если дубли строк оставлены, два одинаковых текста — это два разных билета. В режиме без повторного выбора каждый физический билет вытягивается не более одного раза, но одинаковый текст всё равно может появиться дважды через два разных билета.

Как самостоятельно проверить ответ

  • Количество результатов должно совпасть с указанным числом.
  • Каждый выбранный текст должен быть среди подготовленных билетов.
  • Без повторов число оставшихся билетов равно начальному числу минус количество выборов.
  • Сумма вероятностей всех вариантов перед первым выбором должна равняться 100%.
  • Каждый принятый 32-битный результат должен быть меньше показанной границы L.

Частые вопросы

Как случайно выбрать человека из списка?

Вставьте имена по одному в строке, укажите количество результатов и нажмите «Выбрать случайно». Сервис очистит пустые строки, создаст билеты и покажет выбранный индекс для каждого результата.

Можно ли выбрать несколько вариантов без повторов?

Да. Оставьте настройку «Разрешить повторный выбор» выключенной. После каждого выбора вытянутый билет удаляется, поэтому он не может выпасть снова.

Что происходит с одинаковыми строками?

Если включено удаление одинаковых строк, остаётся один билет. Если выключено, каждое повторное вхождение становится отдельным билетом и увеличивает шанс этого текста.

Почему используется Web Crypto?

Web Crypto создаёт криптографически стойкие 32-битные случайные значения. Затем сервис применяет отбрасывание неполного хвоста диапазона, чтобы каждый индекс получил одинаковое число возможных исходов.

Почему нельзя просто взять остаток от деления?

Диапазон из 2³² чисел не всегда делится на количество билетов нацело. Без отбрасывания хвоста некоторые индексы получили бы на один возможный исход больше, то есть очень маленькое преимущество.

Сохраняется ли введённый список?

Нет. На сайте список обрабатывается локально в браузере, не сохраняется и не передаётся в аналитику. В аналитику могут попадать только безличные настройки и количества.