नहीं, आपका एल्गोरिदम स्केलेबल नहीं है। मैंने पहले जो किया है, वह क्रमानुसार संख्याएँ जारी करना (हर बार +1) करना है और फिर उन्हें बिट्स को गड़बड़ाने के लिए एक XOR ऑपरेशन के माध्यम से पास करना है, जिससे मुझे एक यादृच्छिक संख्या मिलती है। बेशक वे वास्तव में यादृच्छिक नहीं हैं, लेकिन वे उपयोगकर्ताओं की आंखों के समान दिखते हैं।
[संपादित करें] अतिरिक्त जानकारी
इस एल्गोरिथम का तर्क इस प्रकार है कि आप अद्वितीय संख्याओं को उत्पन्न करने के लिए एक ज्ञात अनुक्रम का उपयोग करते हैं और फिर आप उन्हें निश्चित रूप से हेरफेर करते हैं, इसलिए वे अब धारावाहिक नहीं दिखते हैं। सामान्य समाधान एन्क्रिप्शन के कुछ रूप का उपयोग करना है, जो मेरे मामले में एक एक्सओआर फ्लिपफ्लॉप था, क्योंकि यह जितना तेज़ हो सकता है, और यह गारंटी को पूरा करता है कि नंबर कभी नहीं टकराएंगे।
हालाँकि आप एन्क्रिप्शन के अन्य रूपों का उपयोग कर सकते हैं, यदि आप और भी अधिक यादृच्छिक दिखने वाली संख्याएँ पसंद करते हैं, गति से अधिक (कहते हैं कि आपको एक समय में कई आईडी उत्पन्न करने की आवश्यकता नहीं है)। अब एन्क्रिप्शन एल्गोरिथम चुनने में महत्वपूर्ण बिंदु "यह गारंटी है कि संख्याएं कभी नहीं टकराएंगी"। और यह साबित करने का एक तरीका है कि क्या एक एन्क्रिप्शन एल्गोरिथ्म इस गारंटी को पूरा कर सकता है, यह जांचना है कि क्या मूल संख्या और एन्क्रिप्शन के परिणाम दोनों में समान संख्या में बिट्स हैं, और यह कि एल्गोरिथ्म प्रतिवर्ती (विभाजन) है।
[एडम लिस का धन्यवाद &सीज़रबी समाधान पर विस्तार के लिए]