👩‍💻 Случайные числа: Что и как?



В C++ существует несколько способов генерации случайных чисел, от устаревших функций до современных библиотек. Рассмотрим интересные подходы, которые помогут тебе гибко генерировать случайные данные:



1. Старый способ: rand() и srand() — функция rand() генерирует псевдослучайные числа, и её начальное состояние можно задавать через srand():

#include <cstdlib>

#include <ctime>



srand(time(0));

int random_number = rand() % 100; // Число от 0 до 99

// Простое решение, но с низкой статистической случайностью




2. Использование std::random_device — генерирует более надежные случайные числа, используя аппаратный генератор (если доступен):

#include <random>



std::random_device rd;

// Генерирует 32-битное случайное число

int random_number = rd();

// Подходит для криптографии, но может быть медленным




3. Настраиваемое распределение — генератор mt19937 (Mersenne Twister) и распределения позволяют контролировать диапазон и тип случайных чисел:

#include <random>



std::mt19937 gen(std::random_device{}());

std::uniform_int_distribution<> dist(1, 10);

int random_number = dist(gen); // Число от 1 до 10

// Гибкий и современный способ генерации чисел




📣 C++ Ready | #техсобес