C++11使用mt19937和uniform_int_distributio 生成随机数

Posted Harris-H

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C++11使用mt19937和uniform_int_distributio 生成随机数相关的知识,希望对你有一定的参考价值。

C++11使用mt19937和uniform_int_distributio 生成随机数

#include<bits/stdc++.h>
using namespace std;
int main()
	random_device rd; //将用于获取随机数引擎的种子
	mt19937 gen(rd()); //标准mersenne_twister_引擎,采用rd()
	//mt19937 genrandom_device();
	uniform_int_distribution<int> dis(0,10); 
	
	for(int i=0;i<10;i++)
		int x = dis(gen);
		使用“dis”将gen生成的随机无符号int转换为[0,10]中的int
		printf("%d\\n",x);
	 
	return 0;


结果

6
7
3
10
0
6
9
5
10
10

以上是关于C++11使用mt19937和uniform_int_distributio 生成随机数的主要内容,如果未能解决你的问题,请参考以下文章

如何简洁、便携和彻底地播种 mt19937 PRNG?

mt19937是什么鬼

随机数生成器的 C++11 线程安全

随机造数据的技巧总结

伪随机数生成算法-梅森旋转(Mersenne Twister/MT)

随机化吼啊!