【发布时间】:2012-11-07 19:47:24
【问题描述】:
如果我有这样的代码,请在 boost 的网站上使用这个基本的 boost 示例:
#include <boost/random/mersenne_twister.hpp>
#include <boost/random/variate_generator.hpp>
#include <boost/random/uniform_real.hpp>
boost::mt19937 gen;
int roll_die() {
boost::uniform_real<> dist(1, 6);
boost::variate_generator<boost::mt19937&, boost::uniform_real<> > die(gen, dist);
return die();
}
如果我想做类似的事情
boost::uniform_real<> dist(0.0, 6.0)
例如,它给了我 1.4883 之类的东西。有没有办法让它只给我 0.5 的值增量。
示例:(0.0, 6.0)
如果我运行代码 6 次,它会给我这样的结果: 0.5, 1.5, 5.5, 6.0, 3.5, 3.0
我将如何让它做到这一点?
谢谢。
【问题讨论】:
-
生成 0..12 范围内的值,然后除以 2。