संचालन का क्रम, PEMDAS, गणित में एक बुनियादी नियम है जो हमें बताता है कि कौन से आदेश संचालन किए जाने चाहिए:
"कोष्ठक, प्रतिपादक, गुणा और भाग, और जोड़ और घटाव"
समस्या यह है, PEMDAS बहुत बहुमुखी नहीं है! यदि आप इसे किसी अन्य क्रम में करना चाहते हैं तो क्या होगा? हम कोष्ठकों के साथ खिलवाड़ नहीं करेंगे, इसलिए हम उन्हें वहीं रखते हैं जहाँ वे (पहले) हैं।
एक प्रोग्राम बनाएं जिसमें दो तर्क हों:
- एक स्ट्रिंग, जो यह बताती है कि किस आदेश का पालन करना चाहिए। कुछ उदाहरण हैं
"DAMES"
,"SAD, ME"
,"ME SAD"
,"MEADS"
। हां, रिक्त स्थान और अल्पविराम ठीक हैं, क्योंकि यह आदेश को याद रखना आसान बनाता है।- चैट में निम्नलिखित सुझाव: रिक्त स्थान और अल्पविराम का समर्थन करना अब वैकल्पिक है।
- यदि अक्षरों में से एक गायब है, या यदि अतिरिक्त पत्र हैं जो वहां नहीं होने चाहिए, तो आप इनपुट को अमान्य मान सकते हैं और इसे पसंद कर सकते हैं लेकिन फिर भी इसे पसंद कर सकते हैं।
- एक स्ट्रिंग, या एक अभिव्यक्ति जिसमें अभिव्यक्ति का मूल्यांकन किया जाना चाहिए।
किसी दशमलव संख्या, या पूर्णांक के रूप में अभिव्यक्ति का परिणाम लौटाएं। यदि उत्तर पूर्णांक नहीं है, तो उसे दशमलव संख्या के रूप में वापस करना होगा।
नियम:
- यदि आपकी भाषा में आसान है, तो दो इनपुट तर्कों को एक में जोड़ना ठीक है।
- इसके लिए एक तार होना जरूरी नहीं है, लेकिन इसके लिए अक्षर होने चाहिए। आप 1 के साथ परिवर्धन, 2 के साथ विभाजन, आदि का विकल्प नहीं दे सकते।
- आप चुन सकते हैं कि कौन सा इनपुट पहले है।
- अभिव्यक्ति का मूल्यांकन
बाएं से दाएं किया जाता हैबाएं से दाएं किया जाता है। (नियम में बदलाव। कोई भी सबमिशन पहले 12 घंटों के लिए पोस्टर करता है, जिसके पास यह दूसरा रास्ता है) को स्वीकार किया जाता है। - ऑपरेशन प्रतीकों का उपयोग करते हैं
( ) ^ * / + -
:। उदाहरण के लिए, आप¤
इसके+
अलावा के लिए उपयोग नहीं कर सकते । - इनपुट अभिव्यक्ति में रिक्त स्थान इनपुट के रूप में मान्य नहीं है
- Unary +/- इनपुट के रूप में मान्य नहीं है अगर यह सीधे + या - का अनुसरण करता है।
3+-2
अमान्य इनपुट के रूप में विचार करें । यह आप की तरह इलाज किया जा सकता है (एक त्रुटि का उत्पादन करने के लिए नहीं है)। तो+
या-
से धन या ऋण किसी अन्य ऑपरेटर के अनुसार, यह हमेशा की तरह व्यवहार किया जाता है:3*-3 = -9
,sin(-2)=-0.909
- कार्यक्रम को कड़ाई से अक्षरों का पालन करना चाहिए, इसलिए
"EMDAS", 1-3+4 => -6
, और"EMDSA", 1-3+4 => 2
।
उदाहरण:
Input: "EMDAS", "3+6*2/4-1" // -> 3+12/4-1 -> 3+3-1 -> 6-1 -> 5
Output: 5
Input: "DAMES", "3+6*2/4-1" // -> 3+6*0.5-1 -> 9*0.5-1 -> 4.5-1 -> 3.5
Output: 3.5
Input: "SAD, ME", "3+6*2/4-1" // -> 3+6*2/3 -> 9*2/3 -> 9*0.66667 -> 6
Output: 6
Input: "ME ADS", "3+5^4/2-3*2 // -> 3+5^4/2-6 -> 3+625/2-6 -> 628/2-6 -> 314-6 -> 308
Output: 308
Input: "AM EDS", "4*3-sin(0.5^2)*3+1" // -> 4*3-sin(0.5^2)*4 -> 12-sin(0.5^2)*4 -> 4*3-(4*sin(0.5^2)) -> 12-(4*sin(0.5^2)) -> 12-(4*sin(0.25)) -> 12-(4*0.24740) -> 12-0.98961 -> 11.01038
Output: 11.01038
Input: "DAMES", "4-5-6" // -> (4-5)-6 -> = -7
Output: -7 // NOT: -> 4-(5-6) -> 4-(-1) -> 5
ध्यान दें, जहां कोष्ठक को दिखाया गया है कि 4*sin(0.5^2)
घातांक का मूल्यांकन करने से पहले गुणन का मूल्यांकन किया जाता है।
यह कोड गोल्फ है, इसलिए बाइट्स जीतने वाला सबसे छोटा कोड है।
BODMAS
या जैसे ही पढ़ाया जाता है BIDMAS
। B
= कोष्ठक, O
या I
= आदेश या संकेत।
p
जरूरत है? यह उदाहरणों में नहीं है