परिचय
बचपन में एक बिंदु आता है जब आपको लगता है कि आपको जोड़ने और गुणा करने में महारत हासिल है, तो कोई आपके साथ आता है और आपको सूचित करता है कि:
a * b + c = (a * b) + c! = a * (b + c);
और जैसा कि पहले पढ़ाया गया था, यह उतनी सरल या रैखिक प्रक्रिया नहीं थी। आप सीखते हैं कि कुछ मौजूद है जिसे संचालन का क्रम कहा जाता है । यह कुछ स्तर की संगति और भावों को बनाए रखने का एक बहुत ही महत्वपूर्ण तरीका है, बिना हर चीज के रास्ते में कोष्ठक प्राप्त करना।
सामान्य कहानी
एक दिन, आप सड़कों पर घबराहट की आवाज़ के लिए उठते हैं। " द 2560 " (शॉर्ट फॉर "ऑर्गनाइज़ेशन अगेंस्ट द ऑर्डर ऑफ ऑपरेशंस", एक डॉर्की हेक्स-ईश ट्विस्ट नाम के तहत एक चरमपंथी समूह ने दुनिया के सभी परमाणु हथियारों पर नियंत्रण करने के लिए अपने बुरे तरीकों का इस्तेमाल किया है। वे पूरे ग्रह को बंधक बनाए हुए हैं, और उनकी एक सरल मांग है: संचालन या चेहरे के उन्मूलन के स्वीकृत आदेश को उल्टा करना (कोष्ठक अपनी प्राथमिकता बनाए रखना है)। नई प्रणाली को PSADME (कोष्ठक, घटाव / जोड़, विभाजन / गुणा, घातांक) कहा जाता है, और अभिव्यक्तियाँ दाएं-से-बाएं मूल्यांकन करती हैं:
a - b - c = a - (b - c) = a + c - b
दिन बीतते जा रहे हैं, और संक्रमण जारी है। जबकि गणितज्ञ और भौतिक विज्ञानी सभी अपने समीकरणों को फिर से लिखने में व्यस्त हैं, कंप्यूटर वैज्ञानिकों को फैशन को बदलने के कार्य का सामना करना पड़ता है जिसमें गणितीय अभिव्यक्तियों की व्याख्या कंप्यूटर द्वारा की जाती है। आप एक गुप्त विद्रोही प्रोग्रामिंग समूह से संबंधित हैं, जिसका उद्देश्य नई वैश्विक अधिपतियों के लिए उतनी ही पीड़ा देना है - और, संयोग से, आपको 2560 द्वारा बेतरतीब ढंग से चुना गया है और बेंचमार्क गणना कार्यक्रम का उत्पादन करने का काम सौंपा गया है।
आपका मिशन
एक प्रोग्राम (या फ़ंक्शन) लिखें जो इनपुट के रूप में (संख्यात्मक) गणितीय अभिव्यक्ति लेता है, ऑपरेशन के आदेश के रूप में PSADME का उपयोग करके अभिव्यक्ति की गणना करता है और परिणाम को आउटपुट करता है। अभिव्यक्तियों को दाएं-से-बाएं मूल्यांकन करना चाहिए, इसलिए
सादगी के लिए, प्रदान की गई सभी संख्या पूर्णांक होंगी, और गणना पूर्णांक परिणाम उत्पन्न करेगी।
नियम और स्कोरिंग
- कार्यक्रम को लंबाई में 128 वर्णों तक इनपुट को स्वीकार करना चाहिए - यदि आपकी भाषा / प्लेटफ़ॉर्म में कम से कम अधिकतम इनपुट लंबाई है, तो यह एक स्वीकार्य बहाना है।
- मानक खामियों को मना किया जाता है।
- विजेता कोड 18 नवंबर को चुना जाएगा (इस पोस्ट की तारीख से 4 सप्ताह)।
- ऐसे पोस्ट-कोड को बेझिझक समझें जो गोल्फ-योग्य नहीं माना जाएगा। यह मस्ती के बारे में है। यदि आपके पास ऐसा करने का एक दिलचस्प तरीका है, लेकिन इसे स्वयं (या अपनी विधि की प्रकृति से) गोल्फ नहीं कर सकते, तो आप इसे वैसे भी पोस्ट कर सकते हैं।
हमेशा की तरह, जीतने वाला कोड कम से कम बाइट्स के साथ होता है, जिसमें कुछ मनोरंजन-मूल्य बोनस होते हैं:
- -5 प्रदान की गई अभिव्यक्ति में पात्रों के किसी भी उपयोग से बचने के लिए: + , - , ( , ) , ^ , * , /
- -5 की गणना के लिए मानक कंप्यूटर पर गणना करने के लिए 5 मिनट से अधिक (लेकिन 10 मिनट से अधिक नहीं) लगता है, बिना विधि स्पष्ट होने के बिना (घड़ी या अनावश्यक लूप का उपयोग करके); उद्देश्य नए अधिपतियों को यह विश्वास दिलाना है कि आप कयामत की उनकी गणना को बाधित करने की कोशिश नहीं कर रहे हैं।
- - (5 + N) एक प्रत्यक्ष आपत्तिजनक संदेश (लंबाई N के लिए, जिसमें प्रमुख / अनुगामी व्हाट्सएप शामिल नहीं है) 2560 के सदस्यों के बारे में आपके कोड के भीतर सादे दृष्टि से लिखे जाने के बारे में, कुछ हास्यास्पद स्पष्टीकरण के साथ कि क्यों इसकी आवश्यकता है। वहाँ। यदि इसे हटा दिया जाता है, तो कोड को सही ढंग से काम नहीं करना चाहिए । हां, मनोरंजन मूल्य के लिए मुफ्त अंक।
उदाहरण और स्पष्टीकरण
[program] 2 - 2 - 2
2
2 - (2 - 2) = 2
[program] (2 + 2 * 3 + 3) / 3 + 3
4
(४ * ६) / (३ + ३) = ४
[program] 3 + 2 + 1 ^ 3
216
(३ + २ + १) ^ ३ = २१६
[program] -5^2
25
(-5) ^ 2 = 25
[program] 32 / 8 * 3 - 1
2
32 / (8 * (3 - 1)) = 32/16 = 2
P(SA)(DM)E।
1 - 3 + 4 = 1 - 7? दाएं से बाएं इतना सुझाव होगा, लेकिन यह घटाव के आगे, PSADME के विपरीत है, नहीं?