आपको रिवर्स पोलिश नोटेशन में लिखे स्ट्रिंग का मूल्यांकन करना होगा और परिणाम को आउटपुट करना होगा।
कार्यक्रम को एक इनपुट स्वीकार करना चाहिए और आउटपुट वापस करना चाहिए। प्रोग्रामिंग भाषाओं के लिए जिनके पास इनपुट / आउटपुट प्राप्त करने के लिए फ़ंक्शन नहीं हैं, आप रीडलाइन / प्रिंट जैसे फ़ंक्शन ग्रहण कर सकते हैं।
आपको प्रोग्राम में किसी भी तरह के "ईवैल" का उपयोग करने की अनुमति नहीं है।
नंबर और ऑपरेटरों को एक या अधिक रिक्त स्थान द्वारा अलग किया जाता है ।
आपको कम से कम +, -, * और / ऑपरेटरों का समर्थन करना चाहिए।
आपको नकारात्मक संख्याओं के लिए समर्थन जोड़ने की आवश्यकता है (उदाहरण के लिए, -4
समान चीज़ नहीं है 0 4 -
) और फ़्लोटिंग पॉइंट नंबर।
आप मान सकते हैं कि इनपुट वैध है और ऊपर दिए गए नियमों का पालन करता है
परीक्षण के मामलों
इनपुट:
-4 5 +
आउटपुट:
1
इनपुट:
5 2 /
आउटपुट:
2.5
इनपुट:
5 2.5 /
आउटपुट:
2
इनपुट:
5 1 2 + 4 * 3 - +
आउटपुट:
14
इनपुट:
4 2 5 * + 1 3 2 * + /
आउटपुट:
2
eval
नंबर पार्स करने के लिए उपयोग करने की आवश्यकता है ? यह काफी टूटा हुआ लगता है। (गोल्फस्क्रिप्ट एक ऐसी भाषा है, जहां तक मैं जानता हूं। मुझे लगता है कि यह भी टूट गया है।)
eval(s)
से बेहतर हैfloat(s)
~
:। :-P