【问题标题】:Compute rand5 given rand7给定 rand7 计算 rand5
【发布时间】:2019-04-18 02:58:45
【问题描述】:

使用较小范围的随机数生成器生成较大范围的随机数是一个常见的面试问题。例如,给定一个函数 rand5,它随机生成从 0 到 5 的数字,创建 rand7。为此有一个 SO thread

我们如何做相反的事情,在给定rand7 的情况下创建rand5

【问题讨论】:

    标签: algorithm random


    【解决方案1】:

    很简单,用伪代码:

    do {
        r = rand7
    } while r>5
    return r;
    

    【讨论】:

    • 当然可以,但是它会产生均匀分布吗?
    • @AbhijitSarkar 它依赖于 rand7,如果它是统一的 - 这个函数也将是统一的
    猜你喜欢
    • 1970-01-01
    • 2012-05-14
    • 1970-01-01
    • 2019-03-13
    • 2020-12-05
    • 2010-09-11
    • 1970-01-01
    • 2018-04-20
    • 2020-02-18
    相关资源
    最近更新 更多