有概率的随机数
Random number with probability
我正在尝试生成一个随机数,并且有 x% 的概率接近最大值。
问题是我不知道该怎么做,除非我采取一些步骤?
假设我将生成一个介于 1 和 3000 之间的随机数。
$number = mt_rand(1, 3000)
这将 return 2700 例如。我希望它比 3000 更接近 1。
我应该如何实现一个只有 10% 的机会接近 3000 的功能?
根据对问题的评论,您可以使用 mt_rand
函数两次。首先 - 检查它是否应该是 90%(其中值是随机的 1-100),如果不是 - 它是另一个 10%,其中值是随机的 1-3000:
$number = mt_rand(0, 9) == 0 ? mt_rand(1, 3000) : mt_rand(1, 100);
我正在尝试生成一个随机数,并且有 x% 的概率接近最大值。
问题是我不知道该怎么做,除非我采取一些步骤?
假设我将生成一个介于 1 和 3000 之间的随机数。
$number = mt_rand(1, 3000)
这将 return 2700 例如。我希望它比 3000 更接近 1。
我应该如何实现一个只有 10% 的机会接近 3000 的功能?
根据对问题的评论,您可以使用 mt_rand
函数两次。首先 - 检查它是否应该是 90%(其中值是随机的 1-100),如果不是 - 它是另一个 10%,其中值是随机的 1-3000:
$number = mt_rand(0, 9) == 0 ? mt_rand(1, 3000) : mt_rand(1, 100);