随机数在系统开发中几乎是不可避免的一个需求,在大多数面试宝典必定会告诉你所谓的随机数实际上是“伪”随机数,除此以外也就没有什么别的了。实际上这条知识自己已是很是落后了,更不用说当它仍是正确的时候,用处也并非很大。本篇要提到的正确使用随机数的要点,是一个比较常见的错误,甚至某不仅是世界500强公司也曾经在其产品中出现过这种问题,还改了 2 次才解决问题。面试
从根本上说,一个很是容易犯的错误出在对随机数种子的认识上,指定随机数种子一种用途是重复产生相同的随机数序列,另外更经常使用的是但愿随机数序列能够更随机一点,避免产生相近的随机数。实际上如今经常使用的伪随机数序列是用线性同余算法生成的,给定一个种子连续计算产生的伪随机数是均匀分布的,若是不断指定新的随机数种子,会影响到序列的分布。从随机数生成算法和种子做用,很容易推导出几个常犯的错误:算法
要正确使用随机数,须要注意如下几点:编程