采纳答案成功!
向帮助你的同学说点啥吧!感谢那些助人为乐的人
老师,能否解释下随机种子是什么意思? srand(time(NULL)) 这和直接rangdom()生成随机数有什么不同?有什么好处?
简单地说,程序无法真正的生成随机数。程序生成随机数的原理,是靠一个随机种子“启动”。之后省城一系列“伪随机数”。
你可以尝试一下,运行这个程序,每次打印的数字是一样的。
int main(void){ cout << rand() << endl; return 0; }
但是这样做,每次打印的数字就不一样了:
int main(void){ srand(time(NULL)); cout << rand() << endl; return 0; }
因为这样做,每次使用当前的时间戳作为了随机种子,每次运行的时间是不一样的,所以得到的随机数是不一样的。
关于随机种子具体是如何作用在随机数生成算法中,最后得到随机数的,已经超出这个课程的范畴了,也不是在问答区一句话两句话能解释清楚的。如果对此感兴趣,可以在网上搜索自学一下随机数生成算法。
继续加油!:)
好的,明白了,谢谢老师
登录后可查看更多问答,登录/注册
课程专为:短时间内应对面试、升职测评等艰巨任务打造
8.7k 21
5.7k 3
4.8k 5
1.3k 18