我正在尝试实施加权随机数.我现在只是把头靠在墙上,无法解决这个问题.
在我的项目(德州扑克手牌范围,主观全权证券分析)中,我正在使用Boost的随机函数.所以,假设我想选择1到3之间的随机数(所以要么是1,2或3).Boost的mersenne twister发电机就像这样的魅力.但是,我希望选择加权,例如:
1 (weight: 90)
2 (weight: 56)
3 (weight: 4)Run Code Online (Sandbox Code Playgroud)
Boost是否具有某种功能?
我有一个变量cnt,其值通过if/else如下语句检查:
如果cnt<=2,则调用func
Else if cnt > 2,然后调用func概率为P=3/(2*cnt).
如何在C++中实现基于概率的代码执行?
void func() {
sendMsg();
}
Run Code Online (Sandbox Code Playgroud)