当前位置:  开发笔记 > 编程语言 > 正文

随机数生成器,可以在<秒内获得不同的数字

如何解决《随机数生成器,可以在<秒内获得不同的数字》经验,为你挑选了2个好方法。

我需要一个C++(伪,我不在乎)随机数生成器,每次调用该函数时都可以得到不同的数字.这可能只是我播种它的方式,也许有更好的方法,但我得到的每个随机生成器每次调用时都不会生成新的数字.我有时需要每秒获得几个随机数,任何RNG i插件都会连续几次获得相同的数字.当然,我知道为什么,因为它是由第二个播种的,所以它每秒只生成一个新的数字,但我需要以某种方式在每次通话时得到一个新数字.谁能指出我正确的方向?



1> Johannes Sch..:

听起来像你这样做:

int get_rand() {
    srand(time(0));
    return rand();
}

这可以解释为什么你在一秒钟内获得相同的数字.但是你必须这样做:

int get_rand() {
    return rand();
}

并且在程序启动时调用srand 一次.



2> Eclipse..:

您只需要srand()在启动时为生成器播种一次,然后再调用该rand()函数.如果使用相同的种子将生成器播种两次,则每次都会返回相同的值.

推荐阅读
小白也坚强_177
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有