小编use*_*974的帖子

在给定范围内生成N个随机数,总计达到给定的总和

第一次来到Stackoverflow.我希望有人可以帮助我搜索算法.

我需要在给定范围内生成N个随机数,总计达到给定的总和!

例如:Generatare 3总计11的数字.

范围:

  1. 值介于1和3之间.
  2. 价值在5到8之间.
  3. 值介于3和7之间.

此考试的生成数字可以是:2,5,4.

我已经搜索了很多,无法找到我需要的解决方案.

有可能像这样生成类似于N个常数和unsing模数的数: 产生随机数,其中和是常数 但是我无法用范围完成.

或者通过生成N个随机值,将它们相加,然后将常数和除以随机和,然后将每个随机数乘以此处提出的商.

主要问题,为什么我不能采用这些解决方案是我的每个随机值都有不同的范围,我需要使用范围均匀分布值(例如,没有频率出现在最小值/最大值,如果我切断值,则会发生这种情况它小于/大于最小/最大值).

我还想到了一个灵魂,取一个随机数(在那个例子中,值1,2或3),生成该范围内的值(在最小值/最大值或最小值与其余值之间,取决于哪个更小) ),减去我给定金额的数量,并保持这一点,直到一切都分配完毕.但那将是非常无效的.我真的可以使用一种修复算法运行时的方法.

我正试着用Java运行.但是那个Info不是那个importend,除非有人已经准备好了解决方案.我只需要一个算法的描述或想法.

java random algorithm

11
推荐指数
2
解决办法
2764
查看次数

标签 统计

algorithm ×1

java ×1

random ×1