मेरे पास एक ऐसी प्रणाली है जिसके लिए किसी ऑब्जेक्ट का प्रतिनिधित्व करने के लिए एक अद्वितीय 6-अंकीय कोड की आवश्यकता होती है, और मैं उन्हें उत्पन्न करने के लिए एक अच्छा एल्गोरिदम सोचने की कोशिश कर रहा हूं।टिन्यूरल-शैली अद्वितीय कोड: टकराव को रोकने के लिए संभावित एल्गोरिदम
- मैं
- आधार -20 64 की अनुमति देता है (भ्रम और शरारती शब्द रोकने के लिए कोई टोपी, संख्या, स्वर, या एल) एक आधार -20 प्रणाली का उपयोग कर रहा: यहाँ पूर्व reqs हैं मिलियन संयोजन
- मैं एक बार में संभावित रूप से 5-10 हजार प्रविष्टियों को सम्मिलित कर दूंगा, इसलिए सिद्धांत में मैं थोक आवेषण का उपयोग करूंगा, जिसका मतलब है कि एक अद्वितीय कुंजी का उपयोग संभवतः कुशल या सुंदर नहीं होगा (विशेष रूप से यदि वहां कई टकराव होने लगते हैं)
- यह qu से बाहर नहीं है तो वहाँ टकराव के बहुत सारे के लिए एक उच्च क्षमता
- मुझे यकीन है कि कोड गैर-निरंतर
मैं एक विचार है कि लग रहा था जैसे कि यह काम करेगा था कर रहे हैं बनाना चाहते है estion संयोजनों का 10% को भरने के लिए है, लेकिन मैं गणित में पर्याप्त रूप से पर्याप्त नहीं हूं कि इसे कैसे कार्यान्वित किया जाए: यदि मैं 0 से शुरू करता हूं और एन द्वारा वृद्धि करता हूं, तो बेस -20 में कनवर्ट करें, ऐसा लगता है कि एन के लिए कुछ मूल्य होना चाहिए जो मुझे प्रत्येक मान को गिनने देता है किसी भी दोहराने से पहले 0-63,999,999।
उदाहरण के लिए, एन = 3 (ताकि 10 आधुनिक 3) का उपयोग करते हुए 9 के माध्यम से 0 से जा रहा: 0, 3, 6, 9, 2, 5, 8, 1, 4, 7
वहाँ कुछ है कुछ बड़ी संख्या के लिए एन के मानों को समझने के लिए जादू गणित विधि जो दोहराने के बिना पूरी श्रृंखला के माध्यम से गिनने में सक्षम है? आदर्श रूप से, जो नंबर मैं चुनता हूं वह सेट के चारों ओर कूदने जैसा होगा कि यह स्पष्ट नहीं था कि एक पैटर्न था, लेकिन मुझे यकीन नहीं है कि यह कितना संभव है।
वैकल्पिक रूप से, एक हैशिंग एल्गोरिदम जो 0-64 मिलियन मानों के लिए विशिष्टता की गारंटी देता है, लेकिन मैं यह जानना चाहता हूं कि यह संभव है या नहीं।
प्राइम नंबर ... मुझे लगता है कि मैं वास्तव में गणित में बुरा हूं; यह हिंडसाइट में स्पष्ट प्रतीत होता है। प्रत्येक उत्तर देने वाले का धन्यवाद। मैंने पहले जवाब देने के लिए phantombrain को श्रेय दिया। –
चूंकि आप tinyurl का उल्लेख करते हैं, इस प्रश्न का मेरा उत्तर लागू हो सकता है: http://stackoverflow.com/questions/1051949/map-incrementing-integer-range-to-six-digit-base-26-max-but- अनुमानित रूप से/1052896 # 1052896 – FogleBird
कोड को दोबारा निरंतर बनाने के लिए मत भूलना। – Beta