rand 相关

gcc 的 rand 使用 http://en.wikipedia.org/wiki/Linear_congruential_generator 生成随机数.
从 http://cpp.indi.frih.net/blog/2014/12/the-bell-has-tolled-for-rand/ 看, time() 作为种子, 因为 time_t 最小单位是一秒, 所以一秒内跑两次程序会得到同样的结果. 验证发现确实如此…

现在的标准推荐使用 http://en.wikipedia.org/wiki/Mersenne_twister, 好多语言在用它做默认生成器.

另应该记住 VS 的 rand_max 只有 32767, 所以 rand 范围只有 32768, 这点可以用来吐槽 MS, 真是太棒了

Leave a Reply

Your email address will not be published. Required fields are marked *