如何生成1到10^6之间的随机数
c++ How to generate random number between 1 and 10^6?
我意识到rand()
可以生成的最大数量是32767。我是否可以在没有外部库的情况下生成值在1到10^6(100万)之间的随机数?
不确定你所说的"外部库"是什么意思,但使用c++ 11 random
库很容易。
std::default_random_engine engine{std::chrono::steady_clock::now().time_since_epoch().count()};
std::uniform_int_distribution<int> range{1, 1'000'000};
int randomly_generated_number = range(engine);
int another_randomly_generated_number = range(engine);
对于一般用途的随机数,我可能建议使用std::mt19937
(或64位机器上的std::mt19937_64
)而不是std::default_random_engine
,但默认引擎更适合学习目的。
相关文章:
- 查找彼此之间具有不同最小距离的随机数
- 使用 std::binomial_distribution 在范围之间生成随机数
- 如何在 C++ 中获取 5 到 -5 之间的随机数
- C++ 和 Python 实现之间的不同伪随机数
- 生成随机数,并保证在给定域之间覆盖所有
- 我如何确保我的随机数在兰德生成的0和1之间不是0
- 在[0,1)C 之间生成一个随机数
- 0-1之间的随机数生成以填充容器
- 盒子muller随机数在C 中的0到1之间
- 在random_device和seed_seq之间做出决定,为多个随机数序列生成种子
- C++ 中介于 0 和 1 之间的随机数
- 本应生成 2 个介于 1 和 9 之间的随机数的程序C++只生成 6 和 9 并且没有正确循环
- 在0到1之间生成随机数
- 分叉进程之间的随机数是相同的
- 如何在 c++ 中生成 0 到 4 之间的随机数
- 介于 2 个值之间的随机数
- 如何在我存储的两个变量之间生成随机数
- 使用 C++ 的 1 到 10 之间的随机数
- 如何在c++中生成一个介于1和16之间的随机数
- C++生成一个介于 0 和 100,000 之间的随机数