在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
來生成一個隨機的種子,并將其傳遞給隨機數生成器對象rng
的seed
方法。這樣每次運行程序時,都會使用不同的種子來生成隨機數序列,從而避免生成重復的隨機數值。