【发布时间】:2014-05-10 17:15:05
【问题描述】:
我想在 n 个数字中随机选择一个整数,其中 n 很小(比如 5)。为此,我使用std::uniform_int_distribution。
分布的确切细节并不那么重要,但我希望结果是随机的并使用范围内的所有整数。随机选择将比范围的长度(大小)多得多。我希望快速随机完成选择。
但是,无论我运行多少次,我都会收到相同的输出。为了获得不同的输出,我等了几分钟,然后再次尝试:结果还是一样(可能这段代码不受时间影响)。
是否每次我使用uniform_int_distribution 都会得到相同的输出?
由于 uniform_int_distribution 不是我特别需要的(我只需要随机数),我尝试使用 pseudosite 中的 RandomUniform。虽然我得到的结果与std::uniform_int_distribution 产生的结果不同,但当我再次运行它时,它每次都产生相同的数字。当然,我用的是同一个main。
我没有发布 RandomUniform,以免使帖子变得更大。
【问题讨论】:
-
每次运行程序时,您都使用相同的 rng 种子。因此,期望获得相同的输出。您需要为 rng 播种一些预计会有所不同的内容,例如时间。
-
感谢@pinkfloydx33 的回复,希望我不能只支持您的评论。
-
我的问题被否决了。为什么?我应该删除它吗?
-
请不要在您的问题中包含答案。毕竟这是一个问题。
-
@QPaysTaxes 谢谢,但我看到了答案以及我的问题中的内容,不清楚我应该发布什么。 ://