आलोचनात्मक अंतर समान अवधि की दो तार के बीच पदों, जिस पर इसी प्रतीकों अलग हैं की संख्या है।
आज्ञा देना P
बाइनरी स्ट्रिंग की लंबाई n
और T
बाइनरी स्ट्रिंग की लंबाई हो 2n-1
। हम बायीं और दायीं ओर के क्रम में हर- लेयरिंग सबस्ट्रिंग के n
बीच हैमिंग की दूरी की गणना कर सकते हैं और उन्हें एक सरणी (या सूची) में डाल सकते हैं।P
n
T
उदाहरण हैमिंग दूरी अनुक्रम
चलो P = 101
और T = 01100
। इस जोड़ी से आपको मिलने वाली हैमिंग दूरियों का क्रम है 2,2,1
।
कार्य
बढ़ाने के लिए n
पर शुरू n=1
, द्विआधारी तार के सभी संभव जोड़े पर विचार P
लंबाई की n
और T
लंबाई की 2n-1
। इस 2**(n+2n-1)
तरह की जोड़ियाँ हैं और इसलिए हैमिंग के कई सीक्वेंस हैं। हालांकि उन दृश्यों में से कई समान होंगे। कार्य यह पता लगाना है कि प्रत्येक के लिए कितने विशिष्ट हैं n
।
आपका कोड प्रति मूल्य एक नंबर आउटपुट होना चाहिए n
।
स्कोर
आपका स्कोर उच्चतम है जो n
आपका कोड 5 मिनट में मेरी मशीन पर पहुंचता है। समय कुल चल रहे समय के लिए है, न कि केवल उसके लिए समय n
।
किसी जीत
उच्चतम स्कोर वाला व्यक्ति जीतता है। यदि दो या अधिक लोग एक ही स्कोर के साथ समाप्त होते हैं तो यह पहला उत्तर है जो जीतता है।
उदाहरण उत्तर
के लिए n
से 1
करने के लिए 8
इष्टतम उत्तर दिए गए हैं 2, 9, 48, 297, 2040, 15425, 125232, 1070553
।
भाषाएं और पुस्तकालय
आप अपनी पसंद की किसी भी उपलब्ध भाषा और लाइब्रेरी का उपयोग कर सकते हैं। जहां संभव हो, अपने कोड को चलाने में सक्षम होना अच्छा होगा इसलिए कृपया अपने कोड को लिनक्स में कैसे चलाएं / संकलित करें, यदि संभव हो तो पूरा विवरण शामिल करें।
माई मशीन द टाइमिंग को मेरी 64-बिट मशीन पर चलाया जाएगा। यह 8GB RAM, AMD FX-8350 Eight-Core Processor और Radeon HD 4250 के साथ एक मानक ubuntu इंस्टॉल है। इसका मतलब यह भी है कि मुझे आपका कोड चलाने में सक्षम होना चाहिए।
उत्तर देना
- 11 ++ में सी + फेर्सम द्वारा। 25 सेकंड।
- एंड्रयू एपस्टीन द्वारा सी ++ में 11 । 176 सेकंड।
- नील द्वारा 10 जावास्क्रिप्ट में । 54 सेकंड।
- 9 नेमी द्वारा हास्केल में । 4 मिनट और 59 सेकंड।
- 8 में जावास्क्रिप्ट fənɛtɪk द्वारा। दस पल।
fastest-code
दोनों कोड स्तर अनुकूलन और एक अच्छा एल्गोरिथ्म के माध्यम से अनुकूलन के लिए अधिक स्थान छोड़ देता है। इसलिए मुझे लगता है कि इससे faster-code
बेहतर है faster-algorithm
।