温馨提示×

C++ Random库怎样避免重复值

c++
小樊
112
2024-07-21 03:14:05
栏目: 编程语言

在C++中,可以使用种子来控制随机数生成器的行为,从而避免生成重复的随机数值。可以通过设置不同的种子来确保每次生成的随机数序列都是不同的。

以下是一个示例代码,演示如何使用种子来避免生成重复的随机数值:

#include <iostream>
#include <random>

int main() {
    // 创建一个随机数生成器对象
    std::mt19937 rng;

    // 使用时间作为种子,确保每次生成的随机数序列都是不同的
    rng.seed(std::random_device{}());

    // 生成10个随机数并输出
    for (int i = 0; i < 10; i++) {
        std::cout << rng() << std::endl;
    }

    return 0;
}

在上面的示例中,我们使用了std::random_device来生成一个随机的种子,并将其传递给随机数生成器对象rngseed方法。这样每次运行程序时,都会使用不同的种子来生成随机数序列,从而避免生成重复的随机数值。

0