C++学习笔记之随机数

随机数

如何获取随机数

rand()是假随机 !

// 利用rand() 函数获取范围在50以内的随机数
int num = rand() % 50;
//每次获得num的值都是同样的值,因为rand()随机的都是在某一个随机数列中从第一个开始取值

srand()+rand()也是假随机 !

// 相当于由rand()得到的随机数表示取到的某一个随机数列,因为rand()得到的值总是固定,故srand()取到的随机数列也是固定
//与srand(567)等放入固定值的效果一样
srand(rand());
int num = rand() % 50;
//每次获得num的值都是同样的值,因为在固定的随机数列中用rand()随机的都是在该随机数列中从第一个开始取值

利用时间戳得到真正的随机数

*srand(rand())*之所以随机得到的值也是固定的,是因为每次的得到的随机数列固定,在随机数列中取得值也是固定。故使得每次取不同的随机数列便可以得到。
利用时间戳,将不断变化的时间点作为srand()中的值,这样每次随机取到的数列都不一样。1970.01.01.00:00:00视为时间的零点开始。

//引入包
#include<time.h>
time_t t = time(0);
//得到的t就是从时间的零点开始到本地时间的秒数
srand(t);
int num = rand() % 50;
//每次获得的num就是真正的随机数了。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值