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)
के अलग-अलग सरणियों की संख्या को परिभाषित करें ।Y
N
2^n
S
n
कार्य
बढ़ाने के लिए 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 अंक का इनाम दूंगा ।