作业帮 > 综合 > 作业

为啥我的c++产生随机数的函数不起作用呢?

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/05/20 11:10:14
为啥我的c++产生随机数的函数不起作用呢?
那是当然啦.你用的是时间做随机数种子,也就是说在1s中之内,你调用了多次生成随机数的函数.而这个随机数是伪随机的,也就是可以重复得到的.而你的随机数种子没变,所以就得到差不多大小的咯.只要你把srand(time(NULL));这句注释掉,你就会看到生成的不是差不多一样的了.追问:
但是这些数是有周期的呀,在我的机器上每21999就会产生一个周期回答:
这个本来就是伪随机的.肯定不可能做到真正的随机啦.你只能尽可能的去逼近真随机,当达到你需要的精度就可以了.就好像你在用π来算圆的周长面积等的时候,你永远得不到一个确切的能够在计算机上表示出来的结果,只要达到你的精度,那就可以认为是结果了.至于怎么去逼近,一是可以用算法来逼近,二是可以用自带的,设置随机数种子.种子不同,得到的随机数序列的近似度也是不同的.