【发布时间】:2011-07-01 15:39:24
【问题描述】:
我正在编写一个程序,我需要根据加权机会获得一个随机值,并且遇到了真正的困难。我需要做的一个例子:
a = 50%,b = 30%,c = 10%,d = 10%
在这个例子中,我需要能够得到一个随机值,a、b、c 或 d,返回的值是 50% 的时间为“a”,30% 的时间为 b,等等...
非常感谢
【问题讨论】:
标签: objective-c math logic
我正在编写一个程序,我需要根据加权机会获得一个随机值,并且遇到了真正的困难。我需要做的一个例子:
a = 50%,b = 30%,c = 10%,d = 10%
在这个例子中,我需要能够得到一个随机值,a、b、c 或 d,返回的值是 50% 的时间为“a”,30% 的时间为 b,等等...
非常感谢
【问题讨论】:
标签: objective-c math logic
根据每个值出现的机会分配一个介于 0 和 1 之间的数字范围。例如,A 应该是 0 到 0.5,因为它需要 50% 的机会。然后,获取一个介于 0 和 1 之间的随机数。随机数落入哪个值的范围就是你得到的值。
A = [0, .5)
B = [.5, .8)
C = [.8, .9)
D = [.9, 1)
随机数为[0,1)
[ = 包含,) = 不包含。
【讨论】: