c++标准库随机数
现代 C++ (C++11 及以上)
#include <random>
#include <iostream>
int main() {
// 创建随机数引擎
std::random_device rd; // 用于获得种子
std::mt19937 gen(rd()); // 使用梅森旋转算法
// 生成整数范围 [0, 99]
std::uniform_int_distribution<> dis(0, 99);
int random_num = dis(gen);
// 生成浮点数范围 [0.0, 1.0)
std::uniform_real_distribution<> real_dis(0.0, 1.0);
double random_real = real_dis(gen);
return 0;
}
常见分布类型
// 整数均匀分布 [1, 6] (模拟骰子)
std::uniform_int_distribution<> dice(1, 6);
// 浮点数均匀分布 [0.0, 1.0)
std::uniform_real_distribution<> zero_to_one(0.0, 1.0);
// 正态分布 (均值0, 标准差1)
std::normal_distribution<> normal(0.0, 1.0);
// 布尔值 (伯努利分布,p=0.5)
std::bernoulli_distribution bernoulli(0.5);