早教吧作业答案频道 -->其他-->
为啥我的c++产生随机数的函数不起作用呢?
题目详情
为啥我的c++产生随机数的函数不起作用呢?
▼优质解答
答案和解析
那是当然啦.你用的是时间做随机数种子,也就是说在1s中之内,你调用了多次生成随机数的函数.而这个随机数是伪随机的,也就是可以重复得到的.而你的随机数种子没变,所以就得到差不多大小的咯.只要你把srand(time(NULL));这句注释掉,你就会看到生成的不是差不多一样的了.追问:
但是这些数是有周期的呀,在我的机器上每21999就会产生一个周期回答:
这个本来就是伪随机的.肯定不可能做到真正的随机啦.你只能尽可能的去逼近真随机,当达到你需要的精度就可以了.就好像你在用π来算圆的周长面积等的时候,你永远得不到一个确切的能够在计算机上表示出来的结果,只要达到你的精度,那就可以认为是结果了.至于怎么去逼近,一是可以用算法来逼近,二是可以用自带的,设置随机数种子.种子不同,得到的随机数序列的近似度也是不同的.
但是这些数是有周期的呀,在我的机器上每21999就会产生一个周期回答:
这个本来就是伪随机的.肯定不可能做到真正的随机啦.你只能尽可能的去逼近真随机,当达到你需要的精度就可以了.就好像你在用π来算圆的周长面积等的时候,你永远得不到一个确切的能够在计算机上表示出来的结果,只要达到你的精度,那就可以认为是结果了.至于怎么去逼近,一是可以用算法来逼近,二是可以用自带的,设置随机数种子.种子不同,得到的随机数序列的近似度也是不同的.
看了 为啥我的c++产生随机数的函...的网友还看了以下:
已知有理数a为正数,bc为负数,且c的绝对值大于b的绝对值大于a的绝对值,用小于把abc负a负b负 2020-05-13 …
sumif函数格式问题求教在用sumif函数时出现如下问题:A列为时间(定义为Time),B列为数 2020-07-23 …
EXCEL条件取和如何套用公式.A列为料号B列为月份.C列与D列为数量.C列为订单数量,D列为预想 2020-07-23 …
已知数列{an}的前n项和Sn=3an-2,那么下面结论正确的是A此数列为等差数列B此数列为等比数 2020-07-23 …
excel中,两列数AB(见举例),B的值要与A的值一一对应,A列数据近似为差为0.1的等差数列(但 2020-11-01 …
excel中,两列数AB(见举例),B的值要与A的值一一对应,A列数据近似为差为0.1的等差数列(但 2020-11-01 …
那个刚才那个题,发起人必须先认购不少于公司应发行股份总数35%以上的股份,应发行股份总数应该是多少? 2020-11-17 …
excel对A列升序判断,对同一类比如“2”对应的B列乘以C列再求和A列为分类B列为数值C列D列求和 2020-12-05 …
有些人走上犯罪道路往往是从吸一支烟、看一次淫秽录像等开始的。这警示我们A.一个人只要不违法犯罪,犯点 2020-12-22 …
如果a的倒数是它的本身,b的倒数的绝对值为1/3,c的平方为25,d的相反数为6,求代数式-a-2a 2020-12-31 …