विकिपीडिया के अनुसार , एक जोरदार डार्बौक्स फ़ंक्शन है
एक जिसके लिए हर (गैर-रिक्त) खुले अंतराल की छवि पूरी वास्तविक रेखा है
दूसरे शब्दों में, एक फ़ंक्शन दृढ़ता से Darboux है यदि 3 मनमानी वास्तविक संख्याएं , और , तो हमेशा एक के बीच एक (विशिष्ट) और जैसे कि को खोजना संभव है ।
इस चुनौती के प्रयोजनों के लिए, हम तर्कसंगत रूप से इसके बजाय डर्बौक्स कार्यों पर दृढ़ता से विचार करेंगे।
आपकी चुनौती एक प्रोग्राम या फ़ंक्शन लिखना है:
- प्रत्येक परिमेय संख्या इनपुट के लिए आउटपुट के रूप में एक परिमेय संख्या देता है,
- हमेशा दिए गए इनपुट के लिए समान आउटपुट देता है, और
- दृढ़ता से डार्बौक्स संपत्ति है।
इनपुट और आउटपुट निम्नलिखित में से हो सकते हैं:
- एक मनमाना-सटीक संख्या प्रकार, यदि आपकी भाषा में एक है (या एक के लिए एक पुस्तकालय है, उदाहरण के लिए जीएमपी)।
- संख्या का एक स्ट्रिंग प्रतिनिधित्व, जिसे आप मान सकते हैं कि हमेशा एक दशमलव बिंदु और दोनों ओर कम से कम एक अंक होगा। यह किसी भी आधार में हो सकता है , लेकिन इनपुट और आउटपुट एक ही बेस में होना चाहिए। आप अंकों और दशमलव बिंदु के लिए वर्णों के किसी भी सेट का उपयोग कर सकते हैं (लेकिन फिर से, उन्हें इनपुट और आउटपुट के बीच सुसंगत होना चाहिए)।
इनपुट में हमेशा समाप्ति बेस विस्तार होगा। आउटपुट के लिए, जिसमें आपकी पसंद के आधार पर सैद्धांतिक रूप से गैर-समाप्तिकारी बेस विस्तार हो सकता है, आप निम्नलिखित में से कोई भी चुन सकते हैं:
- आउटपुट अंक हमेशा के लिए।
- इनपुट और आउटपुट के रूप में एक अतिरिक्त पूर्णांक लें, जो कम से कम कई अंकों का हो।
- आउटपुट में कम से कम उतने अंक होते हैं जितने इनपुट में होते हैं (जिसमें अनुगामी शून्य हो सकते हैं)।
ध्यान दें कि यह चुनौती की प्रकृति के द्वारा, परंपरा है कि संख्या ग्रहण किया जा सकता मानक संख्या प्रकार से प्रदर्शनीय होने के लिए है नहीं लागू होते हैं, ऊपर विकल्प 2 में बताए गए दूसरे इनपुट के लिए छोड़कर।
उन कार्यों के साथ खामियों से बचने के लिए जो केवल गैर-समाप्ति तर्कसंगत पर परिभाषित किए गए हैं, आपका सबमिशन अभ्यास में वांछित मूल्य के करीब आउटपुट का उत्पादन करने में सक्षम होना चाहिए । औपचारिक रूप से, दिए गए परिमेय संख्याएँ , , , और , एक परिमेय संख्या होनी चाहिए जो आपके चुने हुए आधार में समाप्त हो जैसे कि और ।
आपको कुछ विचार देने के लिए, यहाँ कॉनवे बेस 13 फ़ंक्शन का विवरण दिया गया है :
- को बेस 13 में बदलें और दशमलव बिंदु को हटा दें।
- यदि परिणाम फॉर्म , जहां और 0 से 9 तक केवल अंकों से मिलकर बनता है, तो ।
- यदि परिणाम फॉर्म , जहां और में 0 से 9 तक केवल अंक होते हैं, तो ।
- अन्यथा, ।
यह फ़ंक्शन दृढ़ता से डार्बौक्स है। उदाहरण के लिए, कहिए कि हम और बीच कुछ करना चाहते हैं, जैसे कि । आधार -13 मान इस आवश्यकता को पूरा करेगा।
आपका सबमिशन इस फ़ंक्शन का कार्यान्वयन हो सकता है, हालांकि मुझे संदेह है कि अन्य दृढ़ता से डार्बॉक्स फ़ंक्शन हैं जो लागू करने के लिए बहुत कम हैं। :)