【问题标题】:PHP Weighted random numberPHP加权随机数
【发布时间】:2011-11-17 02:58:35
【问题描述】:

如何生成介于 1 和 10 之间的加权随机数,其中 10 是最高机会,1 是最低机会?

rand(1,10) ?

需要简单的一行代码,因为它会运行 100,000 次

【问题讨论】:

  • 对于“随机”的小值?
  • 对不起,Herman,但您似乎没有定义您的要求。除非您可以比“从高到低的序列概率”更明确地解释,否则我担心有人(不是我)会关闭这个问题。请告诉我们您想要什么(您真正想要什么),我们会尽力提供帮助。对我来说,这听起来像是你想要某种概率的“滑动比例”,但还没有定义它应该如何滑动。
  • “从高到低的序列概率”一定是关于复杂数学问题的最糟糕的问题。如果你连人类语言都不能准确表达你的需求,你怎么能期望写出令人满意的计算机程序呢?
  • 抱歉各位改写了.. 英语不是我的母语 :)

标签: php


【解决方案1】:

好的,我想我明白你想说什么了..

试试这个:

mt_rand(mt_rand(1, 10),10 );

我循环了一百万次:

10 = 292634 
9 = 193333 
8 = 142815 
7 = 109580 
6 = 84616 
5 = 64498 
4 = 47666 
3 = 33450 
2 = 21286 
1 = 10122 

【讨论】:

  • 好主意,对我也很有效,只是想知道是否有任何简单的解决方案可以减少 1 到 10 之间的权重?
猜你喜欢
  • 2010-12-18
  • 2018-03-15
  • 1970-01-01
  • 2020-01-22
  • 2013-11-21
  • 1970-01-01
  • 1970-01-01
  • 2011-02-27
  • 2015-04-23
相关资源
最近更新 更多