生成伪随机数
伪随机数生成器生成可以基于先前生成的值猜测的值。换句话说:它是确定性的。在需要真正随机数的情况下,请勿使用伪随机数生成器。
#include <iostream>
#include <random>
int main()
{
std::default_random_engine pseudo_random_generator;
std::uniform_int_distribution<int> int_distribution(0, 9);
int actual_distribution[10] = {0,0,0,0,0,0,0,0,0,0};
for(int i = 0; i < 10000; i++) {
int result = int_distribution(pseudo_random_generator);
actual_distribution[result]++;
}
for(int i = 0; i <= 9; i++) {
std::cout << actual_distribution[i] << " ";
}
return 0;
}
此代码创建一个随机数生成器,以及一个生成范围[0,9]中具有相同似然性的整数的分布。然后计算每个结果生成的次数。
std::uniform_int_distribution<T>
的模板参数指定应生成的整数类型。使用 std::uniform_real_distribution<T>
生成浮动或双打。