c++

c++随机函数如何做到种子更新

小樊
111
2024-06-24 17:05:32
栏目: 编程语言

在C++中,可以使用std::srand()函数设置随机数生成器的种子。通常情况下,可以使用系统时间作为种子,这样每次运行程序时种子都会不同,从而使得生成的随机数序列也不同。

以下是一个示例代码,演示如何使用系统时间作为种子来更新随机数生成器:

#include <iostream>
#include <cstdlib>
#include <ctime>

int main() {
    // 使用系统时间作为种子
    std::srand(static_cast<unsigned int>(std::time(nullptr)));

    // 生成随机数
    for (int i = 0; i < 10; ++i) {
        std::cout << std::rand() << std::endl;
    }

    return 0;
}

在上面的示例中,std::time(nullptr)函数返回当前系统时间的秒数,然后将其转换为unsigned int类型,并作为参数传递给std::srand()函数,从而更新了随机数生成器的种子。接着通过std::rand()函数生成了10个随机数并输出到控制台。由于每次运行程序时种子都会不同,因此生成的随机数序列也会不同。

0
看了该问题的人还看了