如何以一定比例随机选择

wil*_*lc2 3 random algorithm probability

我想在两个选择之间随机选择*概率不等.

例如,当用户按下按钮时,25%的时间会发出声音A,75%的时间发出声音B.我可以手动执行简单的比例,如1:4和2:4但我遇到了麻烦比例如3:5.

考虑这个问题的一般方法是什么?

*我的意思是一个一个地看着不可预测.我注意到任何带有随机字样的问题都会得到一个Mensa的学生.

Sam*_*eff 5

比例3:5相当于37.5%的时间或0.375(A的3倍,B的5倍,因此3/8是37.5%).所以你可以像这样计算:

random() < 0.375 ? "A" : "B"
Run Code Online (Sandbox Code Playgroud)

http://en.wikipedia.org/wiki/Ratio

如果有2个橙子和3个苹果,橙子与苹果的比例显示为2:3,而橙子与总水果的比例为2/5.