Sto facendo un progetto in Lua che comporta la randomizzazione di numeri senza ripetizioni. Ecco il mio codiceRandomizza i numeri in Lua senza ripetizioni
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
Fondamentalmente si mette un valore al rndom [num] in modo che quando il numero randomizzato ripete e rndom [num] ~ = nil, sarà casuale nuovo numero. Il mio problema è che ci vuole troppo tempo per caricarsi mentre la mia 'i' diventa più alta e arriverà un tempo in cui si fermerà. Immagino sia perché il randomizzatore non può ottenere un rndom [num] che è 'nil'. Voglio dire, quali sono le probabilità giusto? Mi piacerebbe migliorare il tempo di esecuzione. Chiunque può suggerire una soluzione migliore al mio problema?
Grazie!
wow. quello ha fatto! Ha sicuramente reso il tempo di esecuzione più veloce. Grazie mille. – Rachelle
Puoi usare math.random (i, n). Vedi http://lua-users.org/wiki/RandomSample. – lhf
@lhf - Grazie. –