c – rand()总是在应用程序重新启动时返回相同的顺序
发布时间:2020-12-16 05:31:47 所属栏目:百科 来源:网络整理
导读:我有以下方法生成一个随机数: int random_number() //Random number generator{ int x = rand() % 1000000 + 1; //Generate an integer between 1 and 1000000 return x;} 对该方法的调用用于循环五次.该方法的问题是,在运行程序多次时,似乎总是生成相同的
我有以下方法生成一个随机数:
int random_number() //Random number generator { int x = rand() % 1000000 + 1; //Generate an integer between 1 and 1000000 return x; } 对该方法的调用用于循环五次.该方法的问题是,在运行程序多次时,似乎总是生成相同的数字.这怎么可以解决? 解决方法
您需要
seed的随机数生成器,如:
srand ( time(NULL) ); int x = rand() % 1000000 + 1; 种子伪随机数生成器基本上决定了它将遍历的随机数集.使用时间是实现充分随机结果的标准方法. 编辑: 为了澄清,你应该只种一次,并获得许多随机数字,像这样: srand ( time(NULL) ); loop { int x = rand() % 1000000 + 1; } 而不是像: loop { //Particularly bad if this line is hit multiple times in one second srand ( time(NULL) ); int x = rand() % 1000000 + 1; } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |