gpt4 book ai didi

c - 独立于时间在 C 中播种 rand()

转载 作者:太空狗 更新时间:2023-10-29 15:52:07 25 4
gpt4 key购买 nike

我正在使用 stdlib 生成随机数。我知道有更好的生成器,但 stdlib 对我来说已经足够了。

我在做:

while(condition){
sleep(1);
srand(time(NULL));
r=rand();
}

它在一个循环内,所以我需要 sleep(1) 否则种子相同并且数字重复。事实是我需要生成数千甚至数百万个数字,如果我为每个数字等待 1 秒,将花费很长时间。那么还有另一种独立于时间的播种方式吗?

最佳答案

您只需播种一次(在启动时),然后生成任意数量的数字。不要为每个数字重新播种一次 - 这毫无意义,而且您基本上必须生成随机种子才能生成随机数(这首先违背了使用 PRNG 的目的)。

关于c - 独立于时间在 C 中播种 rand(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27590563/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com