【发布时间】:2015-11-03 23:35:40
【问题描述】:
我正在寻找解决问题的方法。假设我有一个数字 X,现在我想生成 20 个总和等于 X 的随机数,但我希望这些随机数包含熵。例如,如果 X = 50,算法应该生成
- 3
- 11
- 0
- 6
- 19
- 7
等等。给定数字的总和应等于 50。 有什么简单的方法吗?
谢谢
【问题讨论】:
-
不清楚你所说的“有熵”是什么意思。您是否使用该短语作为另一种表示您希望值是随机的方式?
-
是的,我希望这些值是随机的,但我希望这些值彼此不同。因此,我希望它生成 5 个不同的数字,而不是生成例如五个 10。
-
是否允许重复?
-
@pjs 不,不允许重复。也许在大约 10 次运行中重复一次就可以了,但一般不会:)
-
如果你想要 20 个不同的数字加起来等于 50,这是不会发生的。 i=1..20 的 Sum(i) 是 210,大大大于 50。您将不得不有一些重复的值。
标签: algorithm random language-agnostic probability