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