我在 C 中工作,我正在尝试(拼命地)制作一个随机生成器,它不仅在每次运行生成器时生成不同的数字,而且在每次运行程序时生成不同的序列。我测试了我在网上找到的几乎所有东西。我导致了 2 种很好的方法来制作一个好的随机生成器。第一个是每次都使用不同的种子。但这意味着我每次都必须使用不同的随机种子,这是我一开始没有解决的问题。这是我现在正在尝试的,但这不是真的随心所欲:
int myrand(int random_seed){
random_seed = random_seed * 1103515245 +12345;
return (unsigned int)(random_seed / 65536) % 32768;
}
每次我调用该函数时,我都会将种子增加 1。
第二种方法是使用时间。时间变化,这是随机性。我也尝试了很多方法来实现这一点。我最近的尝试是: 编译器错误-可能的 IDE 错误“未定义对 gettimeofday 错误的引用” 但我无法使用gettimeofday 函数,因为我在 Windows 中工作。同样在那个问题中我没有得到任何答案。
任何人都可以帮助我如何在 Windows 中工作的 C 中实现随机生成器(可能使用时间)?或者我应该使用 Unix 吗?