liyuxia713

蹒跚前行者

常用链接

统计

Algorithms

C++

最新评论

随机数的生成


rand() 可获得伪随机数。但是仅仅这样写的话,同一段代码每次运行程序获得的随机数相同。

因为在调用rand()前自动调用了srand(1); 这条语句。 只有当srand()的形参是变化的时每次运行获得的随机数才不同。

用什么样的随时变化的参数呢? 用time(NULL),  即srand((unsigned)time(NULL)); rand(); 这样每次运行得到的随机数不同。

如何获得某个区间的随机数?
      ---- 如果是区间[0,n),   rand()%n 就可以了
      ---- 如果是区间[m,n),  rand()%n+m 就可以了
     ----如果是区[0,1), rand()/double(RAND_MAX) 就可以可以了。(RAND_MAX在cstdlib里有定义)

这里有更详细的介绍:
http://blog.csdn.net/zhoubl668/archive/2009/01/04/3704604.aspx

posted on 2010-01-21 15:37 幸运草 阅读(426) 评论(0)  编辑 收藏 引用 所属分类: C++


只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理