Sलंबाई के एक बाइनरी स्ट्रिंग पर विचार करें n। से अनुक्रमण 1, हम गणना कर सकता है आलोचनात्मक दूरी के बीच S[1..i+1]और S[n-i..n]सभी के लिए iसे क्रम में 0करने के लिए n-1। समान लंबाई के दो तारों के बीच की हैमिंग दूरी उन पदों की संख्या है, जिन पर संबंधित चिह्न भिन्न होते हैं। उदाहरण के लिए,
S = 01010
देता है
[0, 2, 0, 4, 0].
इसका कारण यह है 0मैचों 0, 01को आलोचनात्मक अंतर दो है 10, 010मैचों 010, 0101को आलोचनात्मक अंतर चार है 1010 और अंत में 01010खुद को मेल खाता है।
हम केवल उन आउटपुट में रुचि रखते हैं जहां हैमिंग की दूरी अधिकतम 1 पर है। इसलिए इस कार्य में हम रिपोर्ट करेंगे Yकि क्या हमिंग की दूरी सबसे अधिक है और Nअन्यथा। तो ऊपर हमारे उदाहरण में हमें मिलेगा
[Y, N, Y, N, Y]
लंबाई के सभी अलग-अलग संभव तारों पर पुनरावृति करते समय एस और एस f(n)के अलग-अलग सरणियों की संख्या को परिभाषित करें ।YN2^nSn
कार्य
बढ़ाने के लिए nसे शुरू 1, अपने कोड उत्पादन करना चाहिए f(n)।
उदाहरण उत्तर
इसके लिए n = 1..24, सही उत्तर हैं:
1, 1, 2, 4, 6, 8, 14, 18, 27, 36, 52, 65, 93, 113, 150, 188, 241, 279, 377, 427, 540, 632, 768, 870
स्कोरिंग
आपके कोड को बारी-बारी से n = 1प्रत्येक के लिए उत्तर देने से बचना चाहिए n। मैं पूरे दौड़ने का समय दूंगा, दो मिनट बाद इसे मारूंगा।
आपका स्कोर nउस समय का उच्चतम अंक है ।
एक टाई के मामले में, पहला उत्तर जीत जाता है।
मेरे कोड का परीक्षण कहां किया जाएगा?
मैं अपने कोड को मेरे (थोड़े पुराने) विंडोज 7 लैपटॉप पर साइबरविन के तहत चलाऊंगा। परिणामस्वरूप, कृपया इस आसान को बनाने में आपकी सहायता के लिए कोई भी सहायता दे सकते हैं।
मेरे लैपटॉप में 8GB RAM और एक Intel i7 5600U@2.6 GHz (Broadwell) CPU है जिसमें 2 कोर और 4 धागे हैं। निर्देश सेट में SSE4.2, AVX, AVX2, FMA3 और TSX शामिल हैं।
प्रति भाषा प्रमुख प्रविष्टियाँ
- n = 40 Rust में CersoMiniSat, Anders Kaseorg द्वारा उपयोग किया जा रहा है। (बॉक्स के तहत लुबंटू अतिथि वीएम में।)
- एन = 35 में सी ++ साथी पुस्तकालय, ईसाई Seviers से इस्तेमाल करते हैं। (बॉक्स के तहत लुबंटू अतिथि वीएम में।)
- एन = 34 में Clingo ऐन्डर्स Kaseorg द्वारा। (बॉक्स के तहत लुबंटू अतिथि वीएम में।)
- n = 31 एंडर्स केसरग द्वारा जंग में ।
- एन = 29 में Clojure NikoNyrh द्वारा।
- n = 29 में C द्वारा bartvelle।
- एन = 27 में हास्केल bartavelle द्वारा
- n = 24 में एलीफेला द्वारा पेरी / जीपी ।
- एन = 22 में अजगर 2 + PyPy मेरे द्वारा।
- एन = 21 में मेथेमेटिका alephalpha द्वारा। (आत्म सूचना दी)
भविष्य के इनाम
मैं अब दो मिनट में अपनी मशीन पर n = 80 तक उठने वाले किसी भी उत्तर के लिए 200 अंक का इनाम दूंगा ।
