溫馨提示×

c++隨機函數能否實現均勻分布

c++
小樊
142
2024-06-24 17:11:28
欄目: 編程語言

C++標準庫中的隨機函數包括隨機數生成器和分布器。隨機數生成器負責產生偽隨機數序列,而分布器則負責將這些隨機數按照特定的分布進行轉換。

C++標準庫中的隨機函數可以實現均勻分布,通過使用std::uniform_real_distribution或std::uniform_int_distribution類可以生成均勻分布的隨機數序列。這兩個類分別用于生成均勻分布的實數和整數。

以下是一個使用std::uniform_real_distribution類生成均勻分布實數的示例:

#include <iostream>
#include <random>

int main() {
    std::random_device rd;
    std::mt19937 gen(rd());
    std::uniform_real_distribution<> dis(0.0, 1.0);

    for (int i = 0; i < 10; ++i) {
        std::cout << dis(gen) << std::endl;
    }

    return 0;
}

在上面的示例中,我們使用std::random_device生成種子,然后使用std::mt19937作為隨機數生成器,最后使用std::uniform_real_distribution生成0到1之間的均勻分布的實數。

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女