इस फाइव थर्टीहाइट पहेली से अनुकूलित ।
पृष्ठभूमि
निम्नलिखित अनंत अनुक्रम की जांच करें:
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से पहले कितने एस दिखाते हैं और किसी भी पिछले एस का अनुसरण करते हैं ।ikk
उदाहरण:
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।
तीन नंबर आउटपुट के साथ अनुक्रम में ns से ks के अनुपात में और इंडेक्स पर संख्या सहित 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
यह प्रति भाषा कोड गोल्फ है, इसलिए प्रत्येक भाषा में सबसे छोटा कोड विजेता है।
/या :चुनौती के लिए एक अनावश्यक जटिलता जोड़ता है।