溫馨提示×

C++ Random庫怎樣避免重復值

c++
小樊
104
2024-07-21 03:14:05
欄目: 編程語言

在C++中,可以使用種子來控制隨機數(shù)生成器的行為,從而避免生成重復的隨機數(shù)值??梢酝ㄟ^設(shè)置不同的種子來確保每次生成的隨機數(shù)序列都是不同的。

以下是一個示例代碼,演示如何使用種子來避免生成重復的隨機數(shù)值:

#include <iostream>
#include <random>

int main() {
    // 創(chuàng)建一個隨機數(shù)生成器對象
    std::mt19937 rng;

    // 使用時間作為種子,確保每次生成的隨機數(shù)序列都是不同的
    rng.seed(std::random_device{}());

    // 生成10個隨機數(shù)并輸出
    for (int i = 0; i < 10; i++) {
        std::cout << rng() << std::endl;
    }

    return 0;
}

在上面的示例中,我們使用了std::random_device來生成一個隨機的種子,并將其傳遞給隨機數(shù)生成器對象rngseed方法。這樣每次運行程序時,都會使用不同的種子來生成隨機數(shù)序列,從而避免生成重復的隨機數(shù)值。

0