मैं लुआ में एक परियोजना कर रहा हूं जिसमें दोहराने के बिना यादृच्छिक संख्या शामिल है। यहाँ मेरी कोडलूआ में यादृच्छिक संख्याएं दोहराए बिना
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] ~ = नहीं के बराबर है, यह संख्या फिर से randomize जाएगा। मेरी समस्या यह है कि लोड करने में बहुत समय लग रहा है क्योंकि मेरा 'मैं' अधिक हो जाता है और ऐसा समय आएगा जब यह रुक जाएगा। मैं इसका अनुमान लगा रहा हूं क्योंकि यादृच्छिकता को एक रैंडम [num] नहीं मिल सकता है जो 'शून्य' है। मेरा मतलब है, क्या बाधाएं सही हैं? मैं इसके चलने का समय सुधारना चाहता हूं। कोई भी जो मेरी समस्या का बेहतर समाधान सुझा सकता है?
धन्यवाद!
वाह। उसने ऐसा किया! यह निश्चित रूप से चलने का समय तेजी से बना दिया। बहुत बहुत धन्यवाद। – Rachelle
आप math.random (i, n) का उपयोग कर सकते हैं। Http://lua-users.org/wiki/RandomSample देखें। – lhf
@ एलएचएफ - धन्यवाद। –