根据加权百分比机会计算价值

0 math logic objective-c

我正在写一个程序,我需要根据加权机会得到一个随机值,并且我遇到了真正的困难.我需要做的一个例子:

a = 50%,b = 30%,c = 10%,d = 10%

在这个例子中,我需要能够得到一个随机值,a,b,c或d,其值回归为'a'50%的时间,b 30%的时间等等...

非常感谢

Coe*_*ect 5

根据应该出现的几率,为每个值分配0到1之间的数字范围.例如,A应该是0到.5,因为它需要50%的几率.然后,得到一个介于0和1之间的随机数.随机数落入的任何值的范围是你得到的值.

A = [0,.5)
B = [.5,.8)
C = [.8,.9)
D = [.9,1)

随机数是[0,1)

[=包含,)=独家.