我正在创建一个插件,我正在努力弄清楚如何根据他们的百分比选择获胜者,使用namespace expr = boost::log::expressions;
sink->set_formatter(
expr::stream
<< expr::attr< boost::log::trivial::severity_level >("Severity")
<< " [" << expr::attr< std::string >("Channel") << "]: "
<< expr::smessage;
);
。
在我的插件中,每个玩家存放一个项目,并根据项目的价值,他们收到一个百分比。我试图根据概率挑选一个胜利者。现在有多个用户正在存放商品,这意味着该数字可能是HashMap
。
有什么方法可以计算出来吗?
Double
另一件事:如果我试图挑选一个每人33%的赢家,我该怎么选择那个球员?
答案 0 :(得分:0)
如果您正在寻找算法,我可以提供帮助。所以说你有三个百分比值25%,25%和50%。你要做的是将它们转换为0到1之间的连续范围,所以第一个变为0到0.25的范围,第二个变为0.25到0.5的范围,第三个变为0.5到1的范围。在0和0之间生成一个随机的双精度数。 1,无论你的随机数落在哪个范围内,都是赢家。