gpt4 book ai didi

c++ - 有什么办法可以得到 0 - 10 亿之间的随机数吗?

转载 作者:太空狗 更新时间:2023-10-29 19:48:11 25 4
gpt4 key购买 nike

我现在不关心效率。我只是在寻找一种可以生成从 0 到 10 亿的随机数的好方法。我试过做 rand() * rand() 但它只给我估计大于大约 1000 万的数字。我希望范围更加分散。有人有什么建议吗?

最佳答案

当然,只需使用现代 <random> C++ 的便利性:

std::random_device rd;
std::mt19937 gen(rd());
std::uniform_int_distribution<> dis(1, 1000000000);

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

(来自 here,稍微修改以执行 OP 需要的操作)将执行您需要的操作。

如果需要,还可以使用浮点值的模拟函数。


备注:在极少数情况下,您的平台的 int不能容纳 10 亿,或者如果您需要更大的数字,您也可以使用更大的整数类型,如下所示:

std::uniform_int_distribution<std::int64_t> dis(1, 1000000000);

另请注意,此处介绍的 mt 播种并不是最佳选择;看我的问题here获取更多信息。

关于c++ - 有什么办法可以得到 0 - 10 亿之间的随机数吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31015456/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com