使用布尔随机数生成器生成从0到n的随机数

时间:2014-08-23 17:04:32

标签: algorithm random data-structures

给定一个布尔随机数生成器。如何使用它生成0到n范围内的随机数。

1 个答案:

答案 0 :(得分:3)

将数字的位设置为1。假设你使用发电机10次。这将为您提供10次机会,让他们拥有' 0' 0或者' 1'在每一轮。您现在将生成0到1023之间的随机数。

要获得从0到n的随机数,您需要使用生成器lg(n)次(lg = log base 2)。

相关问题