इस फाइव थर्टीहाइट पहेली से अनुकूलित ।
पृष्ठभूमि
निम्नलिखित अनंत अनुक्रम की जांच करें:
3 3 3 2 3 3 3 2 3 3 3 2 3 3 2 3 3 3 2 ...
मान लीजिए कि अनुक्रम 1-अनुक्रमित है। i
अनुक्रम में वें नंबर निर्धारित करता है कि कितने 3
रों वहाँ से पहले कर रहे हैं i
वें 2
और किसी भी पिछले निम्नलिखित 2
रों। इसलिए जब से अनुक्रम शुरू होता है अनुक्रम शुरू 3
होना चाहिए 3 3 3 2
और चूंकि 3
अनुक्रम की शुरुआत में तीन एस हैं, बाद में 3 3 3 2
तीन बार खुद को दोहराना होगा। उसके बाद आप पहुंचते हैं 3 3 2
क्योंकि अनुक्रम में चौथा नंबर है 2
।
फाइव थर्टीहाइट रिडल, थ्रोट्स टू रेशो की सीमा को ट्वोस (जो मैं यहां खराब नहीं करेगा) की सीमा के लिए पूछता है, लेकिन आप यह भी पूछ सकते हैं कि सूचकांक के बाद संचयी अनुपात क्या है i
। उदाहरण के लिए पर अनुपात i=4
है 3/1 = 3
और कम से i=15
यह है 11/4 = 2.75
।
चलो सामान्य हो जाओ
संख्याओं को देखते हुए n
और k
हम एक समान अनुक्रम बना सकते हैं जो कि शुरू होता है n
और ठीक उसी तरह जैसे मूल अनुक्रम में वर्णित संख्या i
यह निर्धारित करती है कि वें n
से पहले कितने एस दिखाते हैं और किसी भी पिछले एस का अनुसरण करते हैं ।i
k
k
उदाहरण:
n=2, k=5
अनुक्रम देता है 2 2 5 2 2 5 2 2 2 2 2 5 2 2 5 ...
n=3, k=0
देता है 3 3 3 0 3 3 3 0 3 3 3 0 0 3 3 3 0 ...
n=1, k=3
देता है 1 3 1 1 1 3 1 3 1 3 1 3 1 1 1 3 1 ...
चुनौती
एक फ़ंक्शन / प्रोग्राम लिखें और इसके साथ निम्नलिखित करें। इनपुट के रूप में लें:
- एक सकारात्मक पूर्णांक
n
- एक nonnegative पूर्णांक
k ≠ n
- एक सकारात्मक पूर्णांक
i > n
पहले दो इनपुट n
और k
एक अनुक्रम निर्धारित करते हैं जैसा कि ऊपर वर्णित है और i
एक सूचकांक है। मैं उदाहरणों में 1-इंडेक्सिंग का उपयोग कर रहा हूं, लेकिन आपको 0- या 1-इंडेक्सिंग का उपयोग करने की स्वतंत्रता है। यदि 0-अनुक्रमित है तो प्रतिबंध i
है i ≥ n
।
तीन नंबर आउटपुट के साथ अनुक्रम में n
s से k
s के अनुपात में और इंडेक्स पर संख्या सहित i
। आउटपुट का प्रारूप या तो सटीक के कम से कम 5 अंकों के साथ दशमलव मान हो सकता है या अनुपात के समान सटीक मान हो सकता है 3524/837
या जैसे 3524:837
।
दशमलव रूप में, अंतिम अंक आपको पसंद किया जा सकता है। ट्रेलिंग जीरो और व्हॉट्सएप की अनुमति है।
या तो स्ट्रिंग के रूपों में दो संख्याओं को सामान्य करने की आवश्यकता होती है ताकि वे प्रतिरूप हो। उदाहरण के लिए यदि अनुपात 22/4 था, 11/2
और 11:2
स्वीकार्य हैं , लेकिन 22/4
नहीं है।
उदाहरण
n k i output
2 4 15 2.75 or 11/4
6 0 666 5.1101 or 557:109
50 89 64 63 or 63:1
3 2 1000 2.7453 or 733/267
9 12 345 9.4545 or 104/11
यह प्रति भाषा कोड गोल्फ है, इसलिए प्रत्येक भाषा में सबसे छोटा कोड विजेता है।
/
या :
चुनौती के लिए एक अनावश्यक जटिलता जोड़ता है।