इस चुनौती के लिए, आपको पूर्णांकों पर दो कार्यों, f और g को लागू करने की आवश्यकता है , जैसे कि f is g एक सख्ती से घटने वाला कार्य है जबकि g is f एक सख्ती से बढ़ता कार्य है। दूसरे शब्दों में, यदि आप कोई दो पूर्णांक लेते हैं <b , तो f (g (a))> f (g (b)) और g (f (a)) <g (f (b)) । व्यक्तिगत रूप से f और g पर कोई प्रतिबंध नहीं है , सिवाय इसके कि वे प्रत्येक नक्शे को एक पूर्णांक से दूसरे पूर्णांक में होना चाहिए।
कृपया एफ और जी का एक संक्षिप्त विवरण और एक तर्क शामिल करें कि उनके पास आवश्यक संपत्ति क्यों है।
क्रेडिट: यह चुनौती 2011 के रोमानियाई मास्टर ऑफ मैथमैटिक्स प्रतियोगिता में एक समस्या से प्रेरित थी (जो एक ही बात पूछता है लेकिन पूर्णांक के बजाय वास्तविक संख्याओं पर)। यदि आप वास्तव में बिगाड़ना चाहते हैं, तो आप अब जानते हैं कि क्या खोजना है।
नियम
इस चुनौती में "फ़ंक्शन" शब्द को एक पूर्णांक को दूसरे में मैप करने के गणितीय अर्थ में लिया जाना चाहिए: आप या तो दो प्रोग्राम या दो फ़ंक्शन लिख सकते हैं और इनपुट प्राप्त करने और आउटपुट प्रदान करने के किसी भी मानक तरीके का उपयोग कर सकते हैं । आप वास्तविक पूर्णांक चर के बजाय पूर्णांक के स्ट्रिंग निरूपण का उपयोग कर सकते हैं, लेकिन इनपुट और आउटपुट के प्रकार समान होने चाहिए, ताकि कार्यों को मैन्युअल रूप से बीच में परिवर्तित किए बिना बनाया जा सके। याद रखें कि वैचारिक रूप से, f और g को अभी भी ℤ पर कार्य करने की आवश्यकता है, इसलिए आप एक ही नंबर के दो अलग-अलग स्ट्रिंग अभ्यावेदन या ऐसा कुछ भी करके धोखा नहीं दे सकते।
याद रखें कि फ़ंक्शंस अनाम हो सकते हैं , जब तक कि उनके नाम को स्वयं या किसी अन्य फ़ंक्शन द्वारा परिभाषित करने की आवश्यकता नहीं है। यदि आप एक या दोनों कार्यों को नाम देते हैं, तो आप मान सकते हैं कि वे एक ही कार्यक्रम में मौजूद हैं, ताकि वे एक दूसरे को उनके कार्यान्वयन में संदर्भित कर सकें (जैसे
def f(x): return -g(x)
कि पायथन में)।सामान्य पूर्णांक ओवरफ़्लो नियम लागू होते हैं: आपका समाधान आपकी भाषा के एक काल्पनिक (या शायद वास्तविक) संस्करण में मनमाने ढंग से बड़े पूर्णांकों के लिए काम करने में सक्षम होना चाहिए जिसमें सभी पूर्णांक डिफ़ॉल्ट रूप से अनबाउंड होते हैं, लेकिन यदि आपका प्रोग्राम कार्यान्वयन के कारण अभ्यास में विफल रहता है पूर्णांक का समर्थन नहीं कर रहा है, जो समाधान को अमान्य नहीं करता है।
आप किसी भी प्रोग्रामिंग भाषा का उपयोग कर सकते हैं , लेकिन ध्यान दें कि इन खामियों को डिफ़ॉल्ट रूप से मना किया गया है।
यह कोड-गोल्फ है , इसलिए आपका स्कोर दोनों कार्यों के बाइट्स की संख्या और सबसे कम वैध उत्तर जीत का योग है ।