c++ - 随机数生成器,C++

标签 c++ random

我知道 C++ 中的随机数生成有一些限制(可能是不均匀的)。如何生成 1 到 14620 之间的数字?

谢谢。

最佳答案

如果你有一个 c++0x 环境,boost 库的一个近似派生现在是标准的:

#include <random>
#include <iostream>

int main()
{
    std::uniform_int_distribution<> d(1, 14620);
    std::mt19937 gen;
    std::cout << d(gen) << '\n';
}

这将是快速、简单和高质量的。

你没有指定,但如果你想要浮点而不是 sub in:

std::uniform_real_distribution<> d(1, 14620);

如果您需要非均匀分布,您可以非常轻松地构建自己的分段常量或分段线性分布。

关于c++ - 随机数生成器,C++,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5019393/

相关文章:

java - 使用流将随机整数分配给 ArrayList

c++ - 如何在 C++ 中生成随机数?

java - 将 TextField 的值设置为随机数

algorithm - 有人可以澄清快速排序和随机快速排序之间的区别吗?

c++ - Qt 5.5.1:在模板中使用qDebug()

c++ - 对象如何将自身添加到该对象的类中的 vector ?

c++ - 将函数分配给变量

c++ - ISO C++ 不包括可变参数模板

random - gfortran 和随机数

c++ - 尝试将字符串文字作为模板参数传递