给定一个随机数生成器r()
,它在double
区间内生成具有统一密度的(伪)随机[0,1]
,即p(x) = 1
0 <= x <= 1
在其他地方p(x) = 0
,创建一个随机数生成器r(a,b)
,在double
区间生成[a,b]
,p(x) = 1/(b-a)
密度为a <= x <= b
。
答案 0 :(得分:-1)
我相信(并且已经测试过)这会产生均匀的分布。
r(a,b) = ((r * b) mod (b-a)) + a
但还有另一种更明显的方法吗?
是:
r(a, b) = r*(b-a) + a