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
posted @ 2023-02-16 17:22  Leafmoes  阅读(61)  评论(0编辑  收藏  举报