- Случайные числа — числа, появление которых невозможно предсказать. Псевдослучайные числа — числа, полученные с помощью определённого алгоритма, которые выглядят как случайные.
- Для генерации псевдослучайных чисел используются функция rand() для получения чисел и srand(time(0)) для инициализации генератора (идёт в теле программы перед rand()). Качество случайности чисел проверяется с помощью статистических методов (например, базовый тест на равномерность).
- Случайные числа применяются в моделировании (физические явления), играх (генерация миров), криптографии (цифровая подпись).
Целое число [0, RAND_MAX] | Чётное число [0, 198] | Целое число [0, b] |
|---|---|---|
rand (); | 2 * (rand () % 100); | a + rand () % |
Вещественное число [a, b]: a + (double)rand() / RAND_MAX * (b - a); | ||
Базовый тест на равномерность | ||
... vector <int> hits (range, 0); генерация_случайных_чисел double expected = static_cast <double> (n_attempts) / range; double sum_deviation = 0.0; // Суммарное отклонение for (int i = 0; i < range; i++) { double accuracy = static_cast | ||