कार्य OEIS A005434 को यथाशीघ्र गणना करना है।
S
लंबाई के एक बाइनरी स्ट्रिंग पर विचार करें n
। को सूचीबद्ध करने से 1
, हम अगर निर्धारित कर सकते हैं S[1..i+1]
मैचों S[n-i..n]
वास्तव में सभी के लिए i
से क्रम में 0
करने के लिए n-1
। उदाहरण के लिए,
S = 01010
देता है
[Y, N, Y, N, Y].
इसका कारण यह है है 0
मैचों 0
, 01
से मेल नहीं खाता 10
, 010
मैचों 010
, 0101
मेल नहीं खाता 1010
और अंत में 01010
खुद को मेल खाता है।
लंबाई के सभी अलग-अलग संभव तारों पर पुनरावृति होने पर एस और एस f(n)
के अलग-अलग सरणियों की संख्या को परिभाषित करें ।Y
N
2^n
S
n
पर्यवेक्षक इस सवाल को नोटिस करेंगे मेरा एक और हालिया प्रश्न का एक सरल संस्करण है । हालांकि, मुझे उम्मीद है कि चालाक चालें इसे बहुत तेज और आसान बना सकती हैं।
कार्य
बढ़ाने के लिए n
से शुरू 1
, अपने कोड उत्पादन करना चाहिए n, f(n)
।
उदाहरण उत्तर
इसके लिए n = 1..24
, सही उत्तर हैं:
1, 2, 3, 4, 6, 8, 10, 13, 17, 21, 27, 30, 37, 47, 57, 62, 75, 87, 102, 116, 135, 155, 180, 194
स्कोरिंग
आपके कोड को बारी-बारी से n = 1
प्रत्येक के लिए उत्तर देने से बचना चाहिए n
। मैं पूरे समय का समय दूंगा, दो मिनट बाद इसे मारूंगा।
आपका स्कोर n
उस समय का उच्चतम अंक है ।
एक टाई के मामले में, पहला उत्तर जीत जाता है।
मेरे कोड का परीक्षण कहां किया जाएगा?
मैं आपका कोड वर्चुअलबॉक्स के तहत एक ल्यूबंटू गेस्ट वीएम (मेरे विंडोज 7 होस्ट पर) चलाऊंगा ।
मेरे लैपटॉप में 8GB RAM और एक Intel i7 5600U@2.6 GHz (Broadwell) CPU है जिसमें 2 कोर और 4 धागे हैं। निर्देश सेट में SSE4.2, AVX, AVX2, FMA3 और TSX शामिल हैं।
प्रति भाषा प्रमुख प्रविष्टियाँ
- एन = 599 में जंग बू ऐन्डर्स Kaseorg।
- एन = 30 में सी मटमैला द्वारा। पैतृक संस्करण 32 में मिलता है जब मूल रूप से साइबरविन में चलाया जाता है ।