温馨提示×

c++随机函数能否实现均匀分布

c++
小樊
115
2024-06-24 17:11:28
栏目: 编程语言
C++开发者专用服务器限时活动,0元免费领,库存有限,领完即止! 点击查看>>

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之间的均匀分布的实数。

亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>

推荐阅读:hive hash函数如何保证数据均匀分布

0