如何快速连续生成唯一的随机数?

时间:2014-02-23 22:27:45

标签: lua

我有一个快速连续调用三次的函数,它需要在每次传递时生成1到6之间的伪随机整数。但是我无法从函数中获得足够的熵。

我尝试使用以下所有方法播种math.randomseed(),但是从来没有足够的变化来影响结果。

os.time()
tonumber(tostring(os.time()):reverse():sub(1,6))
socket.gettime() * 1000

我也尝试了this snippet,但每次我的应用程序运行时,它都会以相同的顺序生成相同的数字模式。每次我的应用程序运行时,我都需要不同的(ish)数字。

有什么建议吗?

1 个答案:

答案 0 :(得分:3)

Bah,我在multip.gettime()乘以时需要另一个零。乘以10000,数字之间有足够的距离给我一个足够好的种子。