c++ - 100 和 149 之间(包括)的随机数的固定范围

标签 c++ random

<分区>

键入两个语句,使用 rand() 打印 2 个介于(包括)100 和 149 之间的随机整数。以换行符结尾。例如:

101
133

我试过...

cout << rand() % 100 << endl;
cout << rand() % 149 << endl;

...无法让它工作。

我很困惑。任何帮助,将不胜感激!

最佳答案

Don't use (rand() % 50) + 100如果您想要均匀分布。

使用 std::uniform_int_distribution 来自 <random>标题:

#include <random>
#include <iostream>

int main()
{
    std::random_device rd;
    std::mt19937 gen(rd());
    std::uniform_int_distribution<> dis(100, 149);

    for (int n=0; n<2; ++n)
        std::cout << dis(gen) << ' ';
    std::cout << '\n';
}

Live demo

关于c++ - 100 和 149 之间(包括)的随机数的固定范围,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25572329/

相关文章:

c++ - Intel MIC - 内在 vector 元素的总和

javascript - 在函数之间共享 Javascript 变量

javascript - 调用时未播放随机音频列表

Java:创建随机字符串数字数组

c++ - 计算异常值的百分比函数

c++ - 在 deadline_timer 等待时使用 io_service::post (boost)

c++ - 如何确定 cv::Mat 是否有零值?

c++ - 使用对数据类型的 vector 的哈希表中的段错误

python - 播种 Python RNG 显示集合的非确定性行为

python - 从 numpy.random 中组合两个样本不会以随机序列结束