gpt4 book ai didi

algorithm - 如何只用 Random(0,1) 实现 Random(a,b)?

转载 作者:塔克拉玛干 更新时间:2023-11-03 02:25:28 24 4
gpt4 key购买 nike

<分区>

Possible Duplicate:
how to get uniformed random between a, b by a known uniformed random function RANDOM(0,1)

Introduction to algorithms这本书中,有一个excise:

描述仅调用 Random(0,1) 的过程 Random(a, b) 的实现。作为 a 和 b 的函数,您的程序的预期运行时间是多少? Random(a,b)结果的概率应该是纯均匀分布的,如Random(0,1)

对于 Random 函数,结果是 a 和 b 之间的整数,包括 a 和 b。例如,Random(0,1) 生成 0 或 1; Random(a, b) 生成a, a+1, a+2, ..., b

我的解决方案是这样的:

for i = 1 to b-a
r = a + Random(0,1)
return r

运行时间为T=b-a

这是正确的吗?我的解决方案的结果是否均匀分布?

谢谢

如果我的新解决方案是这样的怎么办:

r = a
for i = 1 to b - a //including b-a
r += Random(0,1)
return r

如果不正确,为什么 r += Random(0,1) 使得 r 不均匀分布?

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com