C++ (伪)随机数生成

#include <iostream>
#include <random>

namespace random
{
    // 从系统获取随机数作为种子
    std::random_device rd;
    // 创建种子序列
    std::seed_seq rr{rd(), rd(), rd(), rd(), rd(), rd(), rd(), rd()};
    // 使用种子序列创建mt19937伪随机数
    std::mt19937 mt{rr};

    // 接受外部参数设置伪随机数的范围
    int get(int min, int max)
    {
        std::uniform_int_distribution die{min, max};
        return die(mt);
    }

}

int main()
{
    // 测试
    for (size_t i = 1; i <= 40; i++)
    {
        std::cout << random::get(1, 6) << '\t';

        if (i % 5 == 0)
        {
            std::cout << '\n';
        }
    }

    return 0;
}

打印预览:

5       5       2       4       4
1       3       4       1       3
2       1       3       3       5
1       4       1       5       1
3       6       5       3       3
6       3       2       3       3
5       6       2       4       3
1       4       2       6       6

原文链接: https://www.cnblogs.com/leafz/p/17127526.html

欢迎关注

微信关注下方公众号,第一时间获取干货硬货;公众号内回复【pdf】免费获取数百本计算机经典书籍

    C++ (伪)随机数生成

原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/318430

非原创文章文中已经注明原地址,如有侵权,联系删除

关注公众号【高性能架构探索】,第一时间获取最新文章

转载文章受原作者版权保护。转载请注明原作者出处!

(0)
上一篇 2023年2月17日 上午9:32
下一篇 2023年2月17日 上午9:33

相关推荐