计算机是怎么产生随机数的?
当然是通过算法,这个算法是有映射关系的,如我放进1,他会出来一个特定的数
RAND_SEED=(RAND_SEED*123+59)%65536; 这是某个系统的随机数算法。
我们可以把这个算法看成是一个黑盒子,你放进一个数,就会出来一个特定的数,并把这个数当做下一次的种子在放进去。
系统实现随机数是把当前的系统时间放进去,每次都不一样,所以可以实现。
但如果你每次都放进一样的种子,生成的随机数列就是一样的了。
比如:
for i = 0, 4 do
math.random(100)
local n = math.random(10)
print(n)
end
这样得到的值永远都是一样的。
而
math.random(100)
for i = 0, 4 do
local n = math.random(10)
print(n)
end
这样每次得到的值都是随机的。