चुनौती
आप कोयोट बीटा नामक एक अद्भुत सेवा के मालिक हैं , जो अपने उपयोगकर्ताओं को इंटरनेट पर भेजे गए गणित के सवालों का जादुई जवाब देता है।
लेकिन यह पता चला है, बैंडविड्थ महंगा है। आपके पास दो विकल्प हैं, या तो एक " कोयोट बीटा प्रो" बनाएं या इसे हल करने का कोई तरीका खोजें। अभी हाल ही में, किसी ने झगड़ा किया (x + 2)
। क्या ग्राहक नहीं भेज सकता है x+2
, और उपयोगकर्ता को कोई अंतर नहीं दिखाई देगा?
काम
आपका कार्य गणित के भावों को "छोटा" करना है। एक इनपुट अभिव्यक्ति को देखते हुए, आपको व्हाट्सएप और कोष्ठक से छुटकारा पाना चाहिए, जब तक कि यह एक ही इनपुट का न्यूनतम प्रतिनिधित्व न दे। सहयोगी संचालन के आसपास के कोष्ठकों को संरक्षित करने की आवश्यकता नहीं है।
यहां दिए गए केवल ऑपरेटर हैं +
, -
, *
, /
, और ^
(घातांक), मानक गणितीय संबद्धता और वरीयता के साथ। इनपुट में दिया गया एकमात्र व्हाट्सएप वास्तविक अंतरिक्ष वर्ण होगा।
नमूना इनपुट / आउटपुट
Input | Output
------------|--------------
(2+x) + 3 | 2+x+3
((4+5))*x | (4+5)*x
z^(x+42) | z^(x+42)
x - ((y)+2) | x-(y+2)
(z - y) - x | z-y-x
x^(y^2) | x^y^2
x^2 / z | x^2/z
- (x + 5)+3 | -(x+5)+3
स्कोरिंग
इनपुट / आउटपुट किसी भी पसंदीदा विधि का उपयोग कर सकते हैं। बाइट्स में सबसे छोटा कार्यक्रम जीत जाता है।
सटीक बिट्स
एक्सपट्रिएशन सही एसोसिएटिव है और स्टैंडर्ड मैथ प्रीएडेंस (सबसे ज्यादा होने) के बाद भी है। एक मान्य संख्यात्मक शाब्दिक है /[0-9]+/
, और एक वैध चर शाब्दिक है /[a-z]+/
। एक एकल परिवर्तनीय शाब्दिक एकल मान का प्रतिनिधित्व करता है, तब भी जब इसकी वर्ण लंबाई 1 से अधिक हो।
"साहचर्य संचालन के आसपास के कोष्ठकों को संरक्षित किए जाने की आवश्यकता नहीं है" का अर्थ यह है कि आउटपुट में एक अभिव्यक्ति होनी चाहिए जो समान पार्स ट्री में परिणत होती है, इस अपवाद के साथ कि सहयोगी संचालन को फिर से व्यवस्थित किया जा सकता है।
/[a-z]+/
, तो इसका मतलब है कि इस तरह के बहिष्करण द्वारा गुणा को रोक ab
दिया जाता है?
2+(3+4)
लिए 2+3+4
, सही बदला जाना चाहते हैं ? इससे पार्स ट्री बदल जाता है।
x^(y/2)=x^y/2
; घातांक एक उच्च आदेश पूर्वता है, एर्गो x^y/2=(x^y)/2
,।
Prompt X:expr(X)
TI-BASIC में सबमिट करने जा रहा था, लेकिन आप इसे सरल नहीं कर सकते :(