Выбираем целые числа из диапазона с исключениями и объясняем каждое действие
Что нужно сделать?
Сгенерировать случайные числа
Случайные числа появятся здесьНажмите «Сгенерировать числа». Мы покажем ответ, вероятность и все действия от границ до проверки.
Включительные границы + Web CryptoОбновлено 15 июля 2026
Как генератор выбирает случайные числа
Здесь случайность не спрятана за одной кнопкой. Сервис сначала точно считает разрешённые целые числа, затем получает равномерное место среди них и показывает, как это место превратилось в ответ. Разберём правило так, как его можно записать в тетради.
Шаг 1. Понимаем включительный диапазон
Слова «от A до B» означают, что участвуют и A, и B. Между 4 и 6 находятся числа 4, 5 и 6 — всего три, а не два. Поэтому после вычитания границ прибавляем единицу.
B − A + 1 = 6 − 4 + 1 = 3 числа
От A
До B
Какие числа участвуют
Расчёт
Количество
1
3
1, 2, 3
3 − 1 + 1
3
−2
2
−2, −1, 0, 1, 2
2 − (−2) + 1
5
7
7
7
7 − 7 + 1
1
Шаг 2. Убираем исключения без двойного вычитания
Исключение влияет на набор только тогда, когда лежит внутри границ. Если одно число записано несколько раз, оно всё равно убирает лишь один вариант. Значение вне диапазона не могло выпасть изначально, поэтому ничего не меняет.
Числа 2 и 3 убраны. Второе вхождение 3 — повтор, а 99 находится за верхней границей. Поэтому вычитаем ровно два уникальных подходящих исключения.
Шаг 3. Различаем выбор с повторами и без повторов
Без повторовОтвет блокируетсяКоличество доступных чисел уменьшается после каждого тиража.С повторамиОтвет возвращаетсяКаждый тираж снова использует полный разрешённый набор.
Если доступны числа 1, 2 и 3, а нужно получить четыре результата без повторов, задача невозможна. С повторами можно выполнить сколько угодно выборов в пределах ограничения страницы, потому что выбранное число снова участвует.
Шаг 4. Получаем 2³² возможных исходов
Web Crypto выдаёт беззнаковое 32-битное целое u. Его минимум — 0, максимум — 4 294 967 295, а всего значений ровно 4 294 967 296.
0 ≤ u ≤ 4 294 967 295; количество исходов = 2³²
Источник создаёт случайность, но нам ещё нужно честно перевести огромное число u в один из N доступных вариантов.
Шаг 5. Почему нельзя всегда использовать только остаток
Допустим, доступно N = 3 числа. Значения от 0 до 4 294 967 294 образуют полные тройки, а последнее значение 4 294 967 295 остаётся лишним. Если его не убрать, ранг 0 получит один дополнительный исход.
Считаем полную границу: L = ⌊2³² ÷ N⌋ × N.
Принимаем только полную часть: если u < L, используем число.
Отбрасываем хвост: если u ≥ L, получаем новое u.
Находим ранг: r = u mod N, поэтому 0 ≤ r < N.
После отбрасывания каждый ранг получает одинаковое число исходов. Очень маленький, но реальный технический перекос исчезает.
Шаг 6. Переводим ранг в само число
Ранг — это порядковое место среди разрешённых чисел, начиная с нуля. Сервис берёт стартовый кандидат A + r и проходит заблокированные значения по возрастанию. Каждое заблокированное число, оказавшееся не правее кандидата, сдвигает кандидата на один шаг.
Диапазон 1…10, запрещены 2 и 3, ранг 1 → второе разрешённое число равно 4
Стартовый кандидат: 1 + 1 = 2. Число 2 запрещено — сдвигаемся на 3. Число 3 тоже запрещено — сдвигаемся на 4. Четыре разрешено, значит это ответ. Такой способ не требует создавать в памяти массив из миллионов или миллиардов чисел.
Как самостоятельно проверить результат
Количество исходных целых должно равняться B − A + 1.
Из диапазона вычитаются только уникальные исключения внутри границ.
Каждый ответ должен быть не меньше A и не больше B.
Ни один ответ не должен совпасть с действующим исключением.
Без повторов все полученные числа должны различаться.
Каждое использованное u должно быть меньше показанной границы L.
Шанс отдельного числа перед выбором равен 1 ÷ N × 100%.
Частые вопросы
Как сгенерировать случайное число от 1 до 100?
Введите 1 в поле «От», 100 в поле «До», укажите количество 1 и нажмите кнопку. Числа 1 и 100 входят в диапазон и могут выпасть.
Входят ли крайние числа в диапазон?
Да. Диапазон включительный: при границах от 5 до 7 участвуют 5, 6 и 7. Поэтому количество целых чисел считается как максимум минус минимум плюс один.
Как получить несколько случайных чисел без повторов?
Оставьте переключатель повторов выключенным и укажите нужное количество. После каждого выбора полученное число блокируется и больше не участвует.
Можно ли исключить отдельные числа?
Да. Введите до 100 целых исключений через пробел, запятую, точку с запятой или новую строку. Повторные исключения считаются один раз, значения вне диапазона не влияют на выбор.
Можно ли использовать отрицательные числа?
Да. Поддерживаются целые числа от −2 147 483 648 до 2 147 483 647. Например, диапазон от −3 до 3 содержит семь чисел, включая ноль.
Почему используется Web Crypto и отбрасывание хвоста?
Web Crypto создаёт 32-битное случайное значение. Если 2³² не делится на число доступных вариантов нацело, неполный хвост отбрасывается, чтобы у каждого разрешённого числа было одинаковое количество исходов.
Сохраняются ли мои границы и исключения?
Нет. На сайте расчёт выполняется локально в браузере. Сырые введённые значения не сохраняются и не передаются в аналитику.