यह मेरा पहला सवाल है, इसलिए मुझे उम्मीद है कि यह अच्छा होगा।
पृष्ठभूमि:
यह ऐसी नदियाँ नहीं हैं जिनके बारे में आप सोच रहे होंगे। सवाल डिजिटल नदियों की अवधारणा के आसपास घूमता है। एक डिजिटल नदी संख्या का एक अनुक्रम जहां संख्या निम्नलिखित है n
है n
के साथ साथ अपने अंकों की राशि।
स्पष्टीकरण:
12345 के बाद से 12360 के बाद से 1 + 2 + 3 + 4 + 5 = 15 और इसलिए 12345 + 15 12360 देता है। इसी तरह 145 के बाद 155 है। यदि एक डिजिटल नदी की पहली संख्या है M
तो हम इसे नदी कहेंगे M
।
उदाहरण के लिए: रिवर 480 अनुक्रम की शुरुआत {480,492,507,519 ....} है, और नदी 483 अनुक्रम {483,498,519, ....} है। सामान्य धाराएँ और नदियाँ मिल सकती हैं, और यही बात डिजिटल नदियों के लिए भी सही है। ऐसा तब होता है जब दो डिजिटल नदियां समान मूल्यों को साझा करती हैं।
उदाहरण:
नदी 480 पर नदी 483 में 519 पर मिलती है। नदी 480 में 507 पर नदी से मिलती है और कभी नदी में 481 से मिलती है। प्रत्येक डिजिटल नदी अंततः नदी 1, नदी 3 या नदी 9 से मिलेंगी।
एक प्रोग्राम लिखें जो किसी दिए गए पूर्णांक n
के लिए निर्धारित कर सकता है मान जहां नदी n
पहले इन तीन नदियों में से एक से मिलती है।
इनपुट
इनपुट में कई परीक्षण मामले हो सकते हैं। प्रत्येक परीक्षण मामले में एक अलग लाइन होती है और एक पूर्णांक n
( 1 <= n <= 16384
) होता है। के मूल्य के साथ एक टेस्ट केस 0
के लिए n
और इनपुट समाप्त हो जाता है इस परीक्षण का मामला संसाधित नहीं किया जाना चाहिए।
उत्पादन
इनपुट में प्रत्येक परीक्षण के मामले के लिए नमूना आउटपुट में दिखाए गए अनुसार परीक्षण केस संख्या (1 से शुरू) का उत्पादन होता है। फिर एक अलग लाइन आउटपुट पर लाइन "पहले y पर नदी x से मिलती है"। यहां y सबसे कम मूल्य है जहां नदी n
पहले नदी x
(x = 1 या 3 या 9) से मिलती है । यदि नदी एक से अधिक मूल्य के लिए n
नदी x
से मिलती y
है x
, तो सबसे कम मूल्य का उत्पादन होता है। लगातार दो परीक्षण मामलों के बीच एक रिक्त रेखा प्रिंट करें।
परीक्षण का मामला
इनपुट:
86
12345
0
आउटपुट:
Case #1
first meets river 1 at 101
Case #2
first meets river 3 at 12423
स्कोरिंग:
सबसे तेज एल्गोरिथ्म जीतता है। टाई के मामले में। कम कोड वाला जीतेगा।
मेरी त्रुटि को इंगित करने के लिए mbomb007 के लिए धन्यवाद ।
ps: मैं सबसे छोटे वाले के बजाय सबसे तेज समाधान चाहता हूं। मेरे पास मेरा एक हल भी है जो धीमा है। इसके लिए यहां देखें ।
ध्यान दें:
मैं का उपयोग किया जाएगा इस कोड के परीक्षण के लिए। और प्रदर्शन की जाँच।
M
तो हम इसे नदी कहेंगेM
" दो कारणों से कोई मतलब नहीं है: सबसे पहले, यदि एक नदी संख्याओं का एक अनंत अनुक्रम है, तो इसका अंतिम अंक नहीं है; और दूसरी बात, अगले पैराग्राफ में नदी काM
मतलब संख्या पर शुरू होने वाली नदी है M
।