centos

CentOS C++随机数生成怎样写

小樊
46
2025-07-14 18:01:04
栏目: 编程语言

在 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;
}

代码说明:

  1. #include <random>: 包含 C++ 随机数库。

  2. std::random_device rd;: 创建一个 random_device 对象,用于生成随机种子。这个设备通常利用操作系统的熵源(如 /dev/random)来提供非确定性的随机数。

  3. std::mt19937 gen(rd());: 使用 Mersenne Twister 算法创建一个伪随机数生成器对象 gen,并使用 rd() 提供的随机种子初始化它。

  4. std::uniform_int_distribution<> dis(1, 100);: 定义一个均匀整数分布,范围从 1 到 100。

  5. dis(gen): 使用生成器 gen 和分布 dis 来生成一个随机数。

  6. 循环生成多个随机数:在循环中多次调用 dis(gen) 来生成并输出多个随机数。

编译和运行这个程序:

g++ -std=c++11 -o random_example random_example.cpp
./random_example

确保你的编译器支持 C++11 或更高版本,因为 <random> 库是在 C++11 中引入的。

0
看了该问题的人还看了