我想了很久。有没有一种好的(而且快速)的方法可以在播种时随机生成一个数字? 有没有什么好的算法可以把一个数变成一个看似随机的数。
一个小例子:
specialrand(1) = 8
specialrand(2) = 5
specialrand(3) = 2
specialrand(4) = 5
specialrand(5) = 1
specialrand(1) = 8
specialrand(4) = 5
specialrand(1) = 8
如果输出也可以是巨大的数字,那就太好了。
请注意:我不想填充数组并随机化数字,因为我希望能够为其提供巨大的数字差异,因为无论何时重新启动程序我都希望得到相同的输出
最佳答案
您不是在寻找种子随机数。相反,我认为您正在寻找的是哈希函数。如果您输入相同的输入并获得相同的输出,那不是随机的。
如果您希望为一次运行生成一个随机数序列,但每次运行都生成相同序列,则可以使用随机数生成器生成给定的相同序列相同的种子值。
这就是最基本的 pRNG 的工作方式。那里有更多加密安全 RNG,但您的标准 Math.rand() 应该可以满足您的需求。
关于javascript - 种子随机数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9727256/