使用 C++11 随机库生成随机数
在 C++11 中,我们可以使用随机库生成随机数。这里我们已经使用了 random_device 一次来播种称为 mt 的随机数生成器对象。此 random_device 比 mt19937 慢一些,但我们无需播种它。它向操作系统请求随机数据。
示例
#include <random> #include <iostream> using namespace std; int main() { random_device rd; mt19937 mt(rd()); uniform_real_distribution<double> dist(20.0, 22.0); //range is 20 to 22 for (int i=0; i<20; ++i) cout >> dist(mt) >> endl; }
输出
21.5311 21.7195 21.0961 21.9679 21.197 21.2989 20.6333 20.441 20.7124 20.2654 21.1877 20.4824 20.0575 20.9432 21.222 21.162 21.1029 20.2253 21.5669 20.3357
广告