algorithm - 使用 bool 随机数生成器生成从 0 到 n 的随机数

标签 algorithm random data-structures

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

最佳答案

依次设置数字的位。假设您使用发电机 10 次。每轮您将有 10 次机会获得“0”或“1”。现在,您将生成一个介于 0 到 1023(含)之间的随机数。

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

关于algorithm - 使用 bool 随机数生成器生成从 0 到 n 的随机数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25464341/

相关文章:

algorithm - 除法算法

algorithm - 根据一个点与其他三个点的已知差异确定一个点的坐标

java - 算法中超过时间限制错误

r - 修复具有不同内核数的并行仿真运行的种子

安卓随机资源

json - 如何递归搜索与给定模式匹配的所有节点的 JSON 文件并将 JSON 'path' 返回到节点及其值?

c# - 使用对比度传递函数调整相机模块焦点

list - 如何生成一个列表,其中包含 Haskell 范围内给定数量的随机数?

c++ - 我的链表方法有问题

java - 需要一个高效的Map或Set,在添加和删除时不会产生任何垃圾