在 CentOS 系统中使用 C++ 生成随机数,你可以使用 C++11 标准库中的 <random> 头文件。这是一个简单而强大的方法来生成随机数。以下是一个示例程序,演示如何使用 C++11 的随机数生成功能:
#include <iostream>
#include <random>
int main() {
// 创建一个随机数生成器引擎,这里使用的是 Mersenne Twister 算法
std::random_device rd; // 用于获取随机种子
std::mt19937 gen(rd()); // Mersenne Twister 引擎
// 定义一个均匀分布,这里是从 1 到 100 的整数
std::uniform_int_distribution<> dis(1, 100);
// 生成并输出 10 个随机数
for (int i = 0; i < 10; ++i) {
std::cout << dis(gen) << ' ';
}
std::cout << std::endl;
return 0;
}
#include <random>: 包含 C++ 随机数库。
std::random_device rd;: 创建一个 random_device 对象,用于生成随机种子。这个设备通常利用操作系统的熵源(如 /dev/random)来提供非确定性的随机数。
std::mt19937 gen(rd());: 使用 Mersenne Twister 算法创建一个伪随机数生成器对象 gen,并使用 rd() 提供的随机种子初始化它。
std::uniform_int_distribution<> dis(1, 100);: 定义一个均匀整数分布,范围从 1 到 100。
dis(gen): 使用生成器 gen 和分布 dis 来生成一个随机数。
循环生成多个随机数:在循环中多次调用 dis(gen) 来生成并输出多个随机数。
编译和运行这个程序:
g++ -std=c++11 -o random_example random_example.cpp
./random_example
确保你的编译器支持 C++11 或更高版本,因为 <random> 库是在 C++11 中引入的。