第一次来到Stackoverflow.我希望有人可以帮助我搜索算法.
我需要在给定范围内生成N个随机数,总计达到给定的总和!
例如:Generatare 3总计11的数字.
范围:
此考试的生成数字可以是:2,5,4.
我已经搜索了很多,无法找到我需要的解决方案.
有可能像这样生成类似于N个常数和unsing模数的数: 产生随机数,其中和是常数 但是我无法用范围完成.
或者通过生成N个随机值,将它们相加,然后将常数和除以随机和,然后将每个随机数乘以此处提出的商.
主要问题,为什么我不能采用这些解决方案是我的每个随机值都有不同的范围,我需要使用范围均匀分布值(例如,没有频率出现在最小值/最大值,如果我切断值,则会发生这种情况它小于/大于最小/最大值).
我还想到了一个灵魂,取一个随机数(在那个例子中,值1,2或3),生成该范围内的值(在最小值/最大值或最小值与其余值之间,取决于哪个更小) ),减去我给定金额的数量,并保持这一点,直到一切都分配完毕.但那将是非常无效的.我真的可以使用一种修复算法运行时的方法.
我正试着用Java运行.但是那个Info不是那个importend,除非有人已经准备好了解决方案.我只需要一个算法的描述或想法.