生成0到n范围内的随机数,其中n可以> RAND_MAX

6 c c++

如何在0到n的范围内生成一个随机数,其中n可以在c,c ++中> RAND_MAX?

谢谢.

Fed*_*oca 8

将生成分为两个阶段,然后合并生成的数字.

  • 我认为sci.crypt.random-number中的数学社区可能存在随机性问题. (4认同)

Mar*_*ork 5

随机数是一个非常专业的主题,除非你是一个数学junky很容易出错.所以我建议不要从多个来源构建一个随机数,你应该使用一个好的库.

我先来看看boost :: Random

如果这不是足够的尝试这个组sci.crypt.random-numbers 问他们应该能够帮助的问题.


Ed *_*mes 0

执行 x 个随机数(从 0 到 RAND_MAX)并将它们加在一起,其中

x = n % RAND_MAX