已知Random(0,1)
函数,它是一个统一的随机函数,意思是它将给出0或1,概率为50%。执行Random(a, b)
,只打电话Random(0,1)
生成随机(a,b)调用Random(0,1)
我到目前为止是,把范围a-b在0基于数组,然后我有索引0,1,2 ... b-a。
然后调用RANDOM(0,1)
b-a次,将结果作为生成的idx求和。并返回元素。
但是由于书中没有答案,我不知道这种方式是正确的还是最好的。如何证明返回每个元素的概率完全相同,并且是1/(b-a+1)
?
什么是正确/更好的方法来做到这一点?
可能的重复:[如何使用错误的生成器获取随机数](http://stackoverflow.com/questions/7694933/how-to-get-random-numbers-with-the-wrong-generator) – PengOne