Puzzling पर इस पोस्ट से प्रेरित है । उस पहेली के लिए स्पॉयलर नीचे हैं।
इनपुट के रूप में तीन सकारात्मक पूर्णांकों को देखते हुए (x, y, z), समावेशी रेंज का निर्माण करें [x, y], उस सीमा को एक साथ मिलाएं, फिर zसबसे बड़े और सबसे छोटे सकारात्मक पूर्णांक को संभव बनाने के लिए जरूरी नहीं कि लगातार अंकों को हटा दें । अग्रणी शून्य की अनुमति नहीं है (यानी, संख्याएं शुरू होनी चाहिए [1-9])। या तो क्रम में उन दो नंबरों को आउटपुट करें।
Puzzling पोस्ट से उदाहरण के लिए, इनपुट के लिए (1, 100, 100), सबसे बड़ी संख्या संभव है 99999785960616263646566676869707172737475767778798081828384858687888990919293949596979899100,
और सबसे छोटी संख्या है 10000012340616263646566676869707172737475767778798081828384858687888990919293949596979899100,
जो कि वहां पोस्ट किए गए jafe के जवाब से नीचे के तर्क के बाद है:
- हम संख्या की लंबाई (अंकों की एक निश्चित संख्या) को प्रभावित नहीं कर सकते हैं, इसलिए अधिकतम मान लेने के लिए हम अधिकतम पहला अंक लेते हैं, फिर दूसरा अंक आदि।
- 84 पहले नॉन-नाइन (16 अंकों को हटाने के लिए छोड़ दिया गया) निकालें:
999995051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100 - अगले 17 अंकों के भीतर सबसे बड़ी संख्या 7 है, इसलिए यहां से, उत्तर में अगला अंक 7 पर हो सकता है (हम 16 अंकों से अधिक नहीं निकाल सकते हैं)। तो हटाएं 15 गैर -7 का ... (1 अंक निकालने के लिए छोड़ दिया गया है):
999997585960616263646566676869707172737475767778798081828384858687888990919293949596979899100 - यहां से, अगला अंक अधिकतम 8 पर हो सकता है, इसलिए बीच से एक गैर -8 हटा दें:
99999785960616263646566676869707172737475767778798081828384858687888990919293949596979899100 - इसी तरह के तर्क, लेकिन उलट (यानी, हम अग्रणी
1एस के बजाय अग्रणी एस चाहते हैं9) सबसे छोटी संख्या के लिए।
यहाँ एक छोटा उदाहरण है (1, 10, 5):।
हम सीमा का निर्माण करते हैं 12345678910और निर्धारित करते हैं कि 5हम किन अंकों को हटाकर सबसे बड़ी संख्या को छोड़ सकते हैं। जाहिर है, इसका मतलब है कि हम अग्रणी अंक को अधिकतम करना चाहते हैं, क्योंकि हम आउटपुट की लंबाई को प्रभावित नहीं कर सकते हैं। इसलिए, यदि हम हटाते हैं, तो हम 12345साथ रह जाते हैं 678910, और हम सबसे बड़ा बना सकते हैं। सबसे छोटा बनाना थोड़ा मुश्किल है, क्योंकि हम इसके बजाय संख्याओं को बीच से बाहर निकाल सकते हैं, 123410ताकि सबसे छोटा संभव हो सके।
के लिए (20, 25, 11), परिणाम बल्कि उबाऊ है, के रूप में 5और 1।
अंत में, जवाब है कि अग्रणी शून्य की कोशिश से इनकार करने के लिए, (9, 11, 3)देता है 91011जो बदले की पैदावार में 91और 10सबसे बड़ी और छोटी से छोटी के रूप में।
I / O और नियम
- यदि यह आसान / छोटा है, तो आप दो कार्यक्रमों / फ़ंक्शन को कोड कर सकते हैं - एक सबसे बड़ा और दूसरा सबसे छोटा - जिस स्थिति में आपका स्कोर दोनों भागों का योग है।
- इनपुट और आउटपुट किसी भी सुविधाजनक विधि द्वारा दिया जा सकता है ।
- इनपुट को आपकी भाषा के मूल नंबर प्रकार में फिट करने के लिए माना जा सकता है, हालांकि , ऐसा करने के लिए न तो समवर्ती संख्या और न ही आउटपुट ग्रहण किया जा सकता है।
- या तो एक पूर्ण कार्यक्रम या एक समारोह स्वीकार्य हैं। यदि कोई फ़ंक्शन है, तो आप इसे प्रिंट करने के बजाय आउटपुट वापस कर सकते हैं।
- मानक खामियों को मना किया जाता है।
- यह कोड-गोल्फ है इसलिए सभी सामान्य गोल्फिंग नियम लागू होते हैं, और सबसे छोटा कोड (बाइट्स में) जीतता है।
9, 11, 3वह करेगा।