Генератор 10
Генератор случайных чисел от 1 до 10 — простой и удобный онлайн-инструмент для получения произвольного числа в диапазоне десяти. Идеально подходит для …
Перейти к калькуляторуГенератор случайных чисел позволяет мгновенно получить случайное число в заданном диапазоне с настройкой параметров уникальности и количества. Используется для игр, лотерей, выборки, тестирования, статистики и криптографии.
Генератор случайных чисел — инструмент для получения непредсказуемых числовых значений в заданном диапазоне. Используется в играх, розыгрышах, научных расчётах, программировании, криптографии и статистике. Онлайн-генератор избавляет от необходимости писать код или использовать физические методы (кости, монеты).
Случайные числа делятся на два типа:
Большинство онлайн-генераторов работают на псевдослучайных алгоритмах с высоким качеством распределения.
максимум − минимум + 1)Пример: диапазон от 1 до 100, количество 10, уникальные — получите 10 неповторяющихся чисел от 1 до 100.
Linear Congruential Generator (LCG)
Простейший алгоритм:
X(n+1) = (a × X(n) + c) mod m
X(n) — текущее значениеa — множитель (например, 1664525)c — приращение (например, 1013904223)m — модуль (например, 2³²)Быстрый, но имеет предсказуемую периодичность. Не рекомендуется для криптографии.
Mersenne Twister (MT19937)
Современный алгоритм с периодом 2¹⁹⁹³⁷ − 1:
Xorshift
Быстрый алгоритм на битовых операциях:
X ^= X << 13
X ^= X >> 17
X ^= X << 5
Компактный код, высокая скорость, достаточное качество для игр и симуляций.
Web Crypto API (JavaScript)
crypto.getRandomValues(array);
Использует системные источники энтропии (шум оборудования, время, события), подходит для паролей и токенов.
CSPRNG (Cryptographically Secure Pseudo-Random Number Generator)
Алгоритмы: Fortuna, Yarrow, /dev/urandom (Linux). Невозможно предсказать следующее значение, даже зная предыдущие.
Стандартный диапазон: [min, max] включительно.
Формула преобразования от [0, 1) к [min, max]:
результат = min + floor(случайное × (max − min + 1))
случайное — от 0 до 1 (не включая 1)floor — округление вниз+1 — чтобы max входил в диапазонПримеры:
1 + floor(random() × 6) → {1, 2, 3, 4, 5, 6}floor(random() × 256) → {0, 1, …, 255}−10 + floor(random() × 21) → {−10, −9, …, 10}Для диапазона [min, max] с дробной частью:
результат = min + случайное × (max − min)
Без округления — результат с плавающей точкой.
Пример: от 0.0 до 1.0 с точностью 2 знака → round(random() × 100) / 100.
Генератор работает с отрицательными значениями аналогично положительным:
Укажите отрицательное значение в поле минимума, система автоматически рассчитает диапазон.
Для генерации N уникальных чисел из диапазона:
для i от n−1 до 1:
j = случайное от 0 до i
поменять местами элементы[i] и элементы[j]
Сложность: O(n) по времени и памяти, где n — размер диапазона.
Для небольшого количества уникальных чисел:
Эффективность: хорошо работает, если количество << размер диапазона. При большом проценте выборки (>50%) лучше использовать перемешивание.
Количество уникальных чисел не может превышать размер диапазона:
При попытке запросить больше — система выдаст ошибку или автоматически ограничит количество.
Бросок кубика
Диапазон: 1–6, количество: 1
Результат: 4 (одно случайное число от 1 до 6)
Рулетка (европейская)
Диапазон: 0–36, количество: 1
Результат: 17
Генерация координат карты
Результат: (847, 392) — случайная точка на экране
Выбор победителя из 100 участников
Диапазон: 1–100, количество: 1, уникальные
Результат: 73 (участник №73 — победитель)
Лотерея «6 из 45»
Диапазон: 1–45, количество: 6, уникальные, сортировка по возрастанию
Результат: 7, 12, 23, 31, 38, 44
Случайный порядок выступлений
Участники: 15 человек (пронумерованы 1–15)
Диапазон: 1–15, количество: 15, уникальные
Результат: 8, 3, 14, 1, 11, 5, 9, 15, 2, 7, 13, 4, 10, 6, 12 — порядок выхода на сцену
Случайная выборка респондентов
Генеральная совокупность: 5000 человек
Размер выборки: 200 человек
Диапазон: 1–5000, количество: 200, уникальные
Результат: 200 уникальных номеров для опроса
A/B-тестирование
Разделить 1000 пользователей на 2 группы:
Генерация тестовых данных
Возраст пользователей: 18–65 лет
Диапазон: 18–65, количество: 100
Результат: 100 случайных возрастов для тестовой базы
Задержка в скриптах
Случайная пауза от 1 до 5 секунд:
Диапазон: 1000–5000 (миллисекунды), количество: 1
Результат: 3247 мс (пауза 3.247 секунды)
Симуляция бросков монеты
Диапазон: 0–1 (0 = орёл, 1 = решка), количество: 100
Результат: 0, 1, 1, 0, 1, 0, 0, 1... — последовательность 100 бросков
Генерация PIN-кода
Диапазон: 0000–9999 (или 0–9, 4 раза), количество: 1
Результат: 7283 (четырёхзначный PIN)
Случайная соль для хеширования
Диапазон: 0–255, количество: 16 (16 байт)
Результат: 142, 89, 201, 7, 254, 33, 118, 176, 12, 88, 193, 45, 67, 230, 19, 104
Преобразовать в шестнадцатеричный формат: 8E59C907FE2176B00C58C12D43E61368
Временный токен
Диапазон: большие числа (например, 100000–999999), количество: 1
Результат: 472839 (шестизначный код подтверждения)
Критерий хи-квадрат (χ²)
Проверяет равномерность распределения:
Формула:
χ² = Σ ((O(i) − E(i))² / E(i))
O(i) — наблюдаемая частота интервала iE(i) — ожидаемая частота (количество / число интервалов)Если χ² близко к числу интервалов — распределение равномерное.
Тест серий (Runs Test)
Проверяет независимость последовательных значений:
Слишком мало серий — корреляция между числами, слишком много — чрезмерная изменчивость.
Тест промежутков (Gap Test)
Считает расстояние между повторениями чисел в заданном интервале. Качественный генератор даёт равномерное распределение промежутков.
Тест перестановок
Анализирует порядок следования n последовательных чисел. Для n=3 возможно 6 перестановок (3! = 6), каждая должна встречаться примерно одинаково часто.
График распределения
Постройте гистограмму частот:
Равномерное распределение выглядит как прямоугольник одинаковой высоты.
Диаграмма рассеяния (Scatter Plot)
Для пар (X(i), X(i+1)) постройте точки на плоскости. Качественный генератор даёт равномерное “облако” без видимых структур (линий, кластеров).
Монте-Карло: оценка числа π
π ≈ 4 × (попавшие / всего)При 10 000 точек хороший генератор даст π ≈ 3.14 ± 0.02.
Тест “дня рождения”
В группе из 23 человек вероятность совпадения дней рождения ≈ 50%. Сгенерируйте 23 случайных числа от 1 до 365, повторите 1000 раз — совпадения должны быть примерно в 500 случаях.
Метод Монте-Карло
Моделирование сложных систем с использованием случайных величин:
Генетические алгоритмы
Случайные мутации и кроссоверы для оптимизации:
Стохастическое моделирование
Имитация случайных процессов: погода, финансовые рынки, сетевой трафик.
Генерация задач и тестов
Изучение вероятности и статистики
Эксперименты с бросанием монет, кубиков, случайными выборками.
Процедурная генерация
Создание уникальных уровней, ландшафтов, персонажей:
Игровая механика
Искусственный интеллект
Непредсказуемость поведения NPC (неигровых персонажей) для реалистичности.
Выборка для опросов
Случайная выборка клиентов для интервью, фокус-групп, A/B-тестирования.
Промо-акции
Прогнозирование
Симуляция сценариев развития бизнеса (метод Монте-Карло для финансовых моделей).
Генерация ключей шифрования
Криптографически стойкие случайные числа для:
Создание паролей и токенов
Защита от атак
Проблема: использование random() % N для диапазона [0, N−1]
Если размер генератора не кратен N, младшие значения встречаются чаще.
Решение: метод отбрасывания (rejection sampling):
do {
случайное = rand()
} while (случайное >= (RAND_MAX − (RAND_MAX % N)))
результат = случайное % N
Или использовать готовые функции: random.randint() (Python), Math.random() (JavaScript).
Проблема: использование текущего времени time() как seed
Атакующий может перебрать возможные значения времени запуска и предсказать последовательность.
Решение: использовать источники высокой энтропии:
/dev/urandom (Linux)CryptGenRandom (Windows)getentropy(), getrandom() (системные вызовы)Проблема: последовательные числа из LCG могут иметь линейную зависимость
Решение: использовать современные алгоритмы (Mersenne Twister, Xorshift), избегать LCG для критичных задач.
Проблема: генератор повторяет последовательность после N итераций
Решение: выбирать алгоритмы с большим периодом (MT19937: 2¹⁹⁹³⁷ − 1).
Проблема: использование Math.random() для генерации паролей
Псевдослучайные генераторы предсказуемы и не подходят для безопасности.
Решение: использовать криптографические генераторы:
crypto.getRandomValues()secrets (вместо random)random_bytes(), random_int()Радиоактивный распад
Счётчик Гейгера регистрирует моменты распада — истинно случайные события.
Пример: Random.org использует атмосферные шумы.
Тепловой шум
Флуктуации напряжения в резисторе из-за теплового движения электронов.
Квантовые процессы
Измерение поляризации фотонов, квантовая суперпозиция. Используется в квантовой криптографии.
Комбинация псевдослучайного генератора с периодическим добавлением энтропии из физических источников.
Пример: /dev/random (Linux) собирает энтропию из событий (движение мыши, нажатия клавиш, сетевые пакеты) и смешивает с CSPRNG.
Исторический метод: заранее сгенерированные таблицы случайных цифр (например, таблицы RAND Corporation, 1 млн случайных цифр). Использовались в статистике до появления компьютеров.
Недостатки: ограниченный объём, неудобство, возможность повторного использования.
Включайте, если:
Отключайте, если:
В научных экспериментах и отладке полезно сохранять начальное значение генератора (seed), чтобы повторить ту же последовательность.
Пример (Python):
import random
random.seed(42) # фиксированный seed
числа = [random.randint(1, 100) for _ in range(10)]
# Всегда получим одинаковую последовательность
Не используйте фиксированный seed в продакшене!
NIST SP 800-90A/B/C
Рекомендации Национального института стандартов и технологий США по генерации случайных чисел для криптографических применений.
FIPS 140-2/140-3
Федеральный стандарт обработки информации для криптографических модулей, включая требования к генераторам случайных чисел.
ISO/IEC 18031
Международный стандарт по криптографическим методам генерации случайных битов.
Закон больших чисел
При увеличении количества испытаний средняя частота события стремится к его вероятности.
Центральная предельная теорема
Сумма большого числа независимых случайных величин имеет приблизительно нормальное распределение.
Энтропия Шеннона
Мера непредсказуемости случайного источника:
H = −Σ p(i) × log₂(p(i))
Для равномерного распределения на N значениях: H = log₂(N) бит.
Генератор случайных чисел — универсальный инструмент для решения широкого спектра задач: от развлечений до научных исследований и криптографии. Выбор подходящего генератора зависит от требований к качеству, скорости и безопасности.
Основные рекомендации:
Онлайн-генератор предоставляет быстрый доступ к случайным числам без программирования, с настройкой параметров под конкретную задачу. Используйте статистические тесты для проверки качества при критических применениях.
Дисклеймер: для задач, связанных с безопасностью (пароли, ключи шифрования, токены), не используйте обычные псевдослучайные генераторы. Применяйте только криптографически стойкие методы с достаточной энтропией.
Укажите минимальное и максимальное значение диапазона, выберите количество чисел и нажмите кнопку генерации. Система мгновенно выдаст случайные числа в указанных границах.
Да, активируйте опцию "Уникальные числа" — генератор исключит повторяющиеся значения. Количество уникальных чисел ограничено размером диапазона.
Используется псевдослучайный генератор на основе алгоритма Mersenne Twister или криптографически стойкие методы (Web Crypto API). Для большинства задач псевдослучайные числа достаточны.
Применяется в лотереях, играх, случайной выборке участников, генерации паролей, статистическом моделировании, A/B-тестировании, научных исследованиях и криптографии.
Используйте статистические тесты: критерий хи-квадрат, тест серий, тест последовательностей. Качественный генератор даёт равномерное распределение без очевидных закономерностей.
Да, укажите отрицательное значение в поле минимума (например, от −100 до 100), и генератор выдаст числа включая отрицательный диапазон.
Мы подобрали калькуляторы, которые помогут вам с разными задачами, связанными с текущей темой.
Генератор случайных чисел от 1 до 10 — простой и удобный онлайн-инструмент для получения произвольного числа в диапазоне десяти. Идеально подходит для …
Перейти к калькуляторуГенератор 100 — это онлайн-инструмент для быстрого создания случайных чисел в диапазоне от 1 до 100. Он незаменим при проведении розыгрышей призов, …
Перейти к калькуляторуГенератор 11 — это простой и удобный онлайн-инструмент для получения случайного числа от 1 до 11. Он пригодится для игр, розыгрышей призов, случайного …
Перейти к калькуляторуГенератор случайных чисел от 1 до 16 — это простой онлайн-инструмент для получения случайных значений в заданном диапазоне. Он пригодится для игр, …
Перейти к калькуляторуГенератор вариантов онлайн — это простой и удобный инструмент для случайного выбора одного или нескольких элементов из предложенного списка. Когда …
Перейти к калькуляторуГенератор номеров — это полезный инструмент для создания случайных числовых последовательностей, которые можно использовать в различных целях: от …
Перейти к калькулятору