gpt4 book ai didi

c - C 中重复且可预测的 RNG 值

转载 作者:太空宇宙 更新时间:2023-11-04 06:13:44 26 4
gpt4 key购买 nike

<分区>

我试图在 C 中连续生成 10,000 个随机数,但在使用伪 RNG 获得随机或什至随机结果时遇到了问题。我以我认为应该创造均匀性的方式使用模数,它确实如此,但结果相当于 0,0,0,0,0,0,0,0,0,1,1,1,1,1 ,1,1,1,1,2,2,2,2,2,2,2,2,3,3,3,3,3,3,3 等在另一个调用 RNG 的函数中循环运行时(4).

int RNG(int n) {
int range = RAND_MAX - (RAND_MAX % n);
srand(time(NULL));
int x = rand();
while (x > range) {
x = rand();
}
return x % n;
}

任何让它更接近 1,3,2,0,2,3,1,0,0,3,2,0,1 等的方法都将不胜感激!

谢谢!

编辑:感谢大家的回复!将播种移动到调用 RNG 的函数的开头,现在一切都很好!

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