c++产生随机数
2021-05-17 06:29
标签:seed 多次 oid 不同 for null nss 默认 ima int rand(void),头文件stdlib.h rand()返回一随机数值的范围在0至RAND_MAX (215-1)间,0~RAND_MAX每个数字被选中的机率是相同的。 rand()的随机数都是由伪随机数,即是由小M多项式序列生成的,其中产生每个小序列都有一个初始值,即随机数种子。(注意: 小M多项式序列的周期是65535,即每次利用一个随机种子生成的随机数的周期是65535,当取得65535个随机数后它们又重复出现了。)当计算机正常开机后,这个种子的值是定了的,除非破坏了系统。 void srand(unsigned int seed),头文件:stdlib.h srand()用来设置rand()产生随机数时的随机种子。如果每次seed都设相同值,rand()所产生的随机数值每次就会一样。 一般使用当前时钟作为随机数种子,srand((unsigned int)(time(NULL)),每一次运行程序的时间是不同的,所以每一次运行程序的随机种子就不同。 在一次程序里,rand()应该只被被播种一次,它不应该被反复播种。 1.使用默认随机种子,无论运行这个程序多少次,打印的都是这些值。
2.使用当前时钟作为随机数种子,多次运行这个程序,每次打印的值都不一样。 3.多次播种,for循坏运行速度很快,每次播种取得时间几乎一样,所以取出来的随机数相同。 记住:只要是单次播种,当取得65535个随机数后,它们又会重复出现。 c++产生随机数 标签:seed 多次 oid 不同 for null nss 默认 ima 原文地址:https://www.cnblogs.com/Joezzz/p/9746938.htmlrand()
srand()
三个实例
上一篇:从Python开始机器学习
下一篇:python实现音乐播放器