2013-09-29 862 views
-2

我有一个问题,我应该生成'k'随机数可以说它是从1到1000.但生成的数字应该有一个300的平均值。我使用rand ()函数来生成随机数字。但我坚持平均值。我该怎么做才能让生成的数字具有平均值。如何生成具有指定平均值的随机数

+1

这个问题与[tag:unix]有什么关系?你的算法到目前为止看起来如何,我们如何帮助你解决它? – Johnsyweb

+0

只有整数,还是范围连续? – pjs

+0

请参阅http://stackoverflow.com/questions/17795265/make-random-numbers-tend-average-to-a-specific-value,并将结果适当缩放到所需的范围。 – pjs

回答

1

我会生成k-1个随机数,然后将K数设置为(mean * k- [迄今为止生成的所有数字的总和])。

+0

这很容易违反范围要求。 – pjs

+0

好点,@pjs,你是对的:( – Mureinik

0

不幸的是,C标准并不保证随机数是统一的(它没有指定任何分布,所以唯一的方法就是提前生成1000个数字),计算意思是(M)并从每个元素中减去M-300