1.随机函数:rand()
Random:随机
int x=rand(); 可以产生一个0~32767之间的随机数。
2.用法
要产生一个[a,b]的随机整数,就要使用通用公式
rand()%(b-a+1)+a ;
例如:rand()%5+1 可以产生一个[1,5]的随机整数
要产生一个【3,7】之间的随机数,计算方法为
7-3+1=4,即:rand()%4+3;
3.真的随机吗?
答案是 否定 的。
rand()的内部实现是永线性同余法做的,它不是真的随机数,因其周期特别长,故在一定范围里可看成是随机的。
4.如何实现真正的随机?
在rand之间加上一条语句:
srand(time(0));
注:小括号中是0不是o
//这句代码的含义是使用系统当前时间的值,重置随机函数的种子,因为每时每刻时间不一样,所以rand得到的随机数也不一样。