我正在使用Lua进行一个项目,其中涉及到随机生成不重复的数字。以下是我的代码:
for i = 1, 86000 do
while rndom[num] ~= nil do
num = math.random(1,95000)
end
rndom[num] = num
for k=1, 11 do
file2:write(input[num][k], " ")
end
file2:write("\n")
end
基本上,它会为rndom[num]赋值,以便当随机数字重复且rndom[num] ~= nil时,它将再次对数字进行随机化。我的问题是,随着我的“i”越来越高,加载时间太长了,并且最终会停止。我猜想这是因为随机器无法获得'nil'的rndom[num]。我的意思是,可能性有多大呢?我希望提高其运行时间。有人能建议一个更好的解决方案吗?
谢谢!