我在C++ 11中生成随机数.当我运行我的代码
using namespace std;
static std::mt19937_64 rng;
int main() {
rng.seed(11);
std::cout << rng() << std::endl;
}
Run Code Online (Sandbox Code Playgroud)
它返回随机数.但是,我想将此限制为一系列数字,比如1-1000.我怎么做,使用<random>C++ 11中引入的新文件/库?
Rap*_*ptz 17
使用std::uniform_int_distribution从<random>.
例:
#include <random>
#include <iostream>
int main()
{
std::random_device rd;
std::mt19937 gen(rd());
std::uniform_int_distribution<int> dis(1, 1000);
std::cout << dis(gen) << '\n';
}
Run Code Online (Sandbox Code Playgroud)
该<random>头包括了很多,你可以使用其他分布.你可以在这里查看