परिचय
मेरा कैलकुलेटर अजीब व्यवहार कर रहा है। कभी-कभी जब मैं इसमें टाइप 8
करता हूं तो एक प्रदर्शित करता है 2
। और कभी-कभी जब मैं इसमें टाइप 6
करता हूं तो एक प्रदर्शित करता है +
। कुछ बटन मिश्रित हैं!
किसी ने मुझे जो निर्धारित करने में मदद कर सकता है?
चुनौती:
इनपुट: सही परिणामों के साथ गलत समीकरणों की सूची ।
आउटपुट: स्वैप किए गए दो बटन।
उदाहरण के लिए:
एक इनपुट हो सकता है:
123 = 3
8423 = 252
4+4 = 8
4*7-10 = 417
9/3 = 3
42-9 = -36
जिसके लिए अपेक्षित आउटपुट हैं: 2
और *
।
क्यूं कर? क्योंकि सभी समीकरण सही होंगे यदि हम 2 का स्वैप करते हैं और *
1*3 = 3
84*3 = 252
4+4 = 8
427-10 = 417
9/3 = 3
4*-9 = -36
चुनौती नियम:
- इनपुट किसी भी उचित प्रारूप में हो सकता है। अंतरिक्ष सीमांकित के साथ एक एकल तार हो सकता है; एक स्ट्रिंग-सूची या -अरे; समीकरणों के साथ एक सूची और सही परिणामों के साथ एक अन्य सूची। तुम्हारा कॉल। कृपया बताएं कि आपने कौन सा इनपुट प्रारूप प्रयोग किया है!
नोट: यह भी मतलब है कि आप इनपुट करने के लिए परीक्षण का मामला अनुमति दी जाती है-5--15
के रूप में-5- -15
या-5 - -15
। हालांकि, एक संख्या जिसके परिणामस्वरूप--
या तो रिक्त स्थान के बिना या हर अंक के बीच एक स्थान के साथ इनपुट किया जाना चाहिए। इसलिए परीक्षण मामले9119
को इनपुट किया जा सकता है9119
या9 1 1 9
(कारण91 19
की अनुमति नहीं है क्योंकि आप तब खोज के लिए स्थान द्वारा निर्देशित हो सकते हैं- -
)। तो रिक्त स्थान (कुछ) वैकल्पिक और अनुमत हैं। - आउटपुट प्रारूप किसी भी उचित प्रारूप में भी हो सकता है। दो वर्ण हो सकते हैं; एक एकल दो-वर्ण स्ट्रिंग; एक स्ट्रिंग-सूची जिसमें दो वर्ण हैं। तुम्हारा कॉल। फिर से, कृपया बताएं कि आपने कौन सा आउटपुट फॉर्मेट इस्तेमाल किया है!
- आपको किसी भी विशिष्ट 14 आउटपुट का उपयोग करने की अनुमति है जो कि नक्शे के लिए है
0123456789+-*/
। इसलिए आपको दो अलग-अलग पूर्णांक आउटपुट करने की भी अनुमति है यदि आप (फिर से, कृपया जो मानचित्रण आप उपयोग करते हैं, यदि कोई हो) निर्दिष्ट करें। - आपको केवल पूर्णांकों का समर्थन करना होगा। इसलिए किसी भी तरह के परीक्षण मामले
1/8=0.125
या नहीं होंगे1/8=0
। - अंकगणितीय ऑपरेंड्स का आपको समर्थन करना होगा: जोड़ (
+
); घटाव (-
); गुणा (*
या×
या·
); विभाजन (/
या÷
)। (नोट: कोष्ठक के बीच वर्ण केवल स्पष्टीकरण के रूप में जोड़े जाते हैं।) - आपको नकारात्मक संख्याओं का समर्थन करना होगा। इसका अर्थ
-
समीकरण में गणितीय संचालक या ऋणात्मक सूचक दोनों के रूप में किया जा सकता है। - आप दिए गए गलत समीकरणों को मान सकते हैं और माना जाता है कि सही समीकरण हमेशा मान्य होते हैं (इसलिए इसमें कुछ चीजें नहीं होंगी
4-/2
या9+-+8
उदाहरण के लिए)। - गलत इनपुट-समीकरणों में 0 से एक विभाजन हो सकता है, लेकिन सही और अपेक्षित समीकरणों में 0 से विभाजन कभी नहीं होगा।
- गलत इनपुट-समीकरण पहले से ही सही हो सकते हैं भले ही आप इच्छित बटन वापस स्वैप कर लें।
- एक दिया गया इनपुट समीकरण बटन को स्वैप करने के लिए अप्रासंगिक हो सकता है (जैसे कि स्वैप किए गए बटन के साथ
4+4=8
और9/3=3
समीकरण )2
और*
। - आप मान सकते हैं कि हमेशा केवल एक संभव स्वैप होगा जो दिए गए परीक्षण मामलों के साथ किया जा सकता है।
- स्वैप करने के लिए दोनों बटन हमेशा कम से कम एक गलत समीकरण में मौजूद होंगे।
सामान्य नियम:
- यह कोड-गोल्फ है , इसलिए बाइट्स जीत में सबसे छोटा जवाब है।
कोड-गोल्फ भाषाओं को गैर-कोडगॉल्फिंग भाषाओं के साथ उत्तर पोस्ट करने से हतोत्साहित न करें। 'किसी भी' प्रोग्रामिंग भाषा के लिए यथासंभव संक्षिप्त उत्तर के साथ आने का प्रयास करें। - मानक नियम आपके उत्तर के लिए लागू होते हैं , इसलिए आपको उचित पैरामीटर और रिटर्न-टाइप, पूर्ण कार्यक्रमों के साथ STDIN / STDOUT, फ़ंक्शन / विधि का उपयोग करने की अनुमति दी जाती है। तुम्हारा कॉल।
- डिफ़ॉल्ट ढीले निषिद्ध हैं।
- यदि संभव हो, तो कृपया अपने कोड के लिए एक परीक्षण के साथ एक लिंक जोड़ें।
- इसके अलावा, यदि आवश्यक हो तो एक स्पष्टीकरण जोड़ें।
परीक्षण के मामलों:
Input:
123 = 3
8423 = 252
4+4 = 8
4*7-10 = 417
9/3 = 3
42-9 = -36
Output: 2 *
Input:
4/2 = 6
3/0 = 3
0/8+2 = 4
95-5 = 90
4+2 = 2
Output: + /
Input:
7+4 = 11
5-15 = 46
212-23 = -2121
Output: 1 -
Input:
4+8/2-9*1 = -5
99/3-13 = 20
1+2+3+4 = 10
4-3-2-1 = -6
Output: 2 4
Input:
18/18 = 1
98-8 = 90
55*88 = 4840
-5--15 = 10
Ouput: 5 8
Input:
9119 = 18
5-3 = 513
8*-9 = 152
13116/3 = -1
Output: 1 -
--
। उदाहरण के लिए 1991 = 2, -/3 = 3
। (कई भाषाएं इसे
91 19
यदि समाधान है 9--9
और परीक्षण के मामलों को बनाते समय समाधान के बारे में ज्ञान 9119
की 9229
आवश्यकता है तो कोई स्थान नहीं जोड़ना है । यदि यह अनुमति दी गई थी, तो मैं केवल स्वैप किए गए वर्णों से पहले केवल एक स्थान जोड़ सकता हूं और समाधान को परीक्षण के मामले से तुरंत निकाला जा सकता है।
*
और /
इससे पहले कि +
और बाइनरी -
?