आलोचनात्मक अंतर समान अवधि की दो तार के बीच पदों, जिस पर इसी प्रतीकों अलग हैं की संख्या है।
आज्ञा देना Pबाइनरी स्ट्रिंग की लंबाई nऔर Tबाइनरी स्ट्रिंग की लंबाई हो 2n-1। हम बायीं और दायीं ओर के क्रम में हर- लेयरिंग सबस्ट्रिंग के nबीच हैमिंग की दूरी की गणना कर सकते हैं और उन्हें एक सरणी (या सूची) में डाल सकते हैं।PnT
उदाहरण हैमिंग दूरी अनुक्रम
चलो 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।