यह चुनौती आपके लिए वास्तविक (और दुखद) प्रेरणा से लाई गई है। हाल ही में, मेरे कीबोर्ड पर संख्या पंक्ति थोड़ी छिटपुट हुई है। चाबियाँ 1-9
कभी-कभी काम करती हैं - लेकिन अन्य बार उनके पास कोई परिणाम नहीं होता है। एक शौकीन चावला प्रोग्रामर के रूप में, यह भयानक है! (देखें कि विस्मयादिबोधक बिंदु; यह है कि आप जानते हैं कि वे अभी काम कर रहे हैं।) न केवल मुझे अक्सर संख्याओं की आवश्यकता होती है, बल्कि प्रतीक!@#$%^&*(
आधा समय पूरी तरह से अप्रभावी हैं! सी प्रोग्रामर के रूप में, अपने लैपटॉप को ठीक करने के लिए कोड के साथ डूडलिंग के अपने व्यस्त कार्यक्रम के लिए समय निकालने के बजाय, मुझे समस्या के आसपास काम करने में अधिक रुचि है। पिछले कुछ हफ्तों के दौरान, धीरे-धीरे, मेरे कोड के सभी नंबर शाब्दिक को हेक्साडेसिमल से बदल दिया गया है ताकि मुझे कॉपी और पेस्ट करने के लिए संख्याओं के लिए शिकार करने की जरूरत न पड़े। हालाँकि, कुछ संख्याएँ बिना कुंजियों के टाइप करना आसान नहीं है 1-9
। उदाहरण के लिए, संख्या 1
केवल हेक्साडेसिमल में नहीं लिखी जा सकती है, और मैंने 1
अपने कोड में एस को बदलने का सहारा लिया है 0xF - 0xE
। केवल कुंजी है कि प्रभावित होते हैं 1-9
, तो मैं जैसे प्रतीकों का पूरा उपयोग को बनाए रखने +
, -
और /
। हालाँकि, मैं गुणा या कोष्ठक का उपयोग नहीं कर सकता, जैसा कि*
और (
अक्सर टूट जाते हैं। यह आपकी चुनौती की ओर जाता है।
इनपुट
n
स्टेंडर या आपकी भाषा के समकक्ष एक पूर्णांक । यदि आप चाहें, तो पूर्णांक से पहले या उसके बाद एक नई पंक्ति या अन्य व्हाट्सएप चरित्र हो सकता है। वैकल्पिक रूप से, आप कमांड लाइन तर्क के माध्यम से इनपुट प्राप्त कर सकते हैं।
आपके कार्यक्रम को नकारात्मक इनपुट का सही जवाब देना चाहिए, और कम से कम 32-बिट हस्ताक्षरित पूर्णांक को संभालने में सक्षम होना चाहिए।
उत्पादन
आपके कार्यक्रम को आउटपुट करना चाहिए, कुछ अवलोकन योग्य रूप में, सबसे छोटा (गैर-व्हाट्सएप वर्णों में) संख्या n
को योग, एक या अधिक हेक्साडेसिमल मानों के योग के रूप में लिखना संभव है । इस समस्या को हल करने के लिए एक से अधिक तरीके हैं, और इस बात की कोई आवश्यकता नहीं है कि आप किसी भी अन्य पर समान लंबाई के आउटपुट का पक्ष लें।
आउटपुट उस रूप में होना चाहिए A % A % A...
जहां केवल अंकों वाले A
निम्नलिखित हेक्साडेसिमल मान है , और प्रतीकों में से एक है0x
A-F a-f
%
-+/
। आज्ञा देना /
पूर्णांक प्रभाग, नहीं फ्लोटिंग प्वाइंट का वर्णन।
(ध्यान दें कि आपके आउटपुट में परिणाम होना चाहिए n
पहले विभाजन का मूल्यांकन करते समय, बाएं से दाएं, और फिर परिवर्धन और घटाव, बाएं से दाएं के रूप में होता है, जैसा कि सम्मेलन है।)
परीक्षण के मामलों
इनपुट आउटपुट
1
0xF - 0xE
(या0xF-0xE
या0xB-0xA
या0xd - 0xc
या0xF/0xF
)15
0xF
255
0xFF
30
0xF + 0xF
स्कोरिंग और नियम
यह कोड-गोल्फ है। आपका प्रारंभिक स्कोर आपकी स्रोत फ़ाइल में बाइट्स की संख्या है।
आप किसी भी अंक का उपयोग नहीं कर सकते हैं 1-9
अपने स्रोत में ।
आप प्रतीकों का उपयोग कर सकते हैं !@#$%^&*(
अपने स्रोत में का करते हैं, लेकिन प्रत्येक आपके स्कोर के लिए +20 के दंड पर आता है।
आपके प्रोग्राम को एक फ़ंक्शन द्वारा प्रतिस्थापित किया जा सकता है n
एक तर्क के रूप में है जब तक कि फ़ंक्शन मानव-पठनीय आउटपुट के कुछ रूप का उत्पादन करता है। आपके फ़ंक्शन का रिटर्न मान आउटपुट के रूप में नहीं गिना जाता है।
मानक खामियों की अनुमति नहीं है।
सबसे कम स्कोर जीत! सौभाग्य!
क्या मैंने कुछ स्वरूपण / पूछताछ / स्पष्टता-समझदारी की बात की है? मुझे बताएं! यह इस साइट पर मेरा पहला सबमिशन है!