如何在范围内选择随机数,但是加权到该范围的一部分?(在Java中)

Don*_*mmy 3 java random apache-commons

我想在一系列数字中选择随机数,但是要对该范围的一部分进行加权.例如:

  1. 选择1-10之间的随机数
  2. 加权使1-5比6-10更可能20%

这可能吗?我该怎么做?

tru*_*ity 11

这取决于您希望概率分布的样子.

例如:

Pick a random number between 1-10
If it is <= 6
    Return a random number between 1-5
Else
    Return a random number between 6-10
EndIf
Run Code Online (Sandbox Code Playgroud)

在60%的时间内拨打一个数字,在6-10%的时间内拨打一个数字.