【发布时间】:2011-10-24 09:42:28
【问题描述】:
我不太确定该怎么做。
我需要生成 14,296 个具有不同概率水平的随机数。
例如,我需要一个包含数字 18、1 和 17 的数组。每个数字都有不同的出现概率。所以:
55% = 18
(7,862.8 次)30% = 1
(4,288.8 次)15% = 17
(2,144.4 次)
结果类似于 new Array () { 18, 18, 1, 17, 1, 18...}
【问题讨论】:
-
澄清一下,输入是 1) 一组数字,每个数字都有一个相关的期望概率,以及 2) 期望的输出数组大小?
-
输入正确输出是一个大小为 N 的数组,其中 N / a.probabilty 元素的值为 a
-
这么多好答案,这次真不知道该选哪一个了!
-
您需要真正的随机性还是“可预测的随机性”?使用您的示例进行真正的随机性,您最终可能会得到 1% 18、95% 17、4% 1。不确定这些类型的结果是否适合您。
-
@Tom Fobear 这里有一个非常彻底的讨论stackoverflow.com/questions/910215/… 使用洗牌袋kaioa.com/node/53 解决了随机生成器随机的问题。
标签: c# random probability