溫馨提示×

c++隨機函數如何做到種子更新

c++
小樊
140
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
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女