【发布时间】:2011-11-20 15:51:55
【问题描述】:
我一直在阅读 Boost C++ 文档并试图弄清楚如何使用库的 uniform_01 部分生成介于 0 和 1 之间的随机实数。有人有什么建议吗?
根据建议,我正在使用此代码,但它每次都会生成相同的随机值。
double random01(mt19937 & generator)
{
uniform_01<mt19937> dist(generator);
return dist();
}
int main()
{
mt19937 generator(time(0));
for (int i = 0; i < 10; i++) {
cout << random01(generator) << endl;
}
return 0;
}
对不起,如果我不清楚;我的回答或任何其他问题都没有解决这个问题。它仍然每次都生成相同的随机值。
【问题讨论】:
-
如果这是一个自我回答,您应该先将其作为问题发布。该解决方案应该稍后作为答案发布。
-
最好改写成一个问题“如何生成0到1之间的随机实数”,下面有答案。
-
会的;谢谢你。我还有什么需要做的吗?
-
最后一件事:将您的答案标记为已接受。
-
两天内我无法接受自己的答案,但我会尽快接受。