คุณต้องประเมินสตริงที่เขียนในรูปแบบReverse Polishและแสดงผลลัพธ์
โปรแกรมต้องยอมรับอินพุตและส่งคืนเอาต์พุต สำหรับภาษาโปรแกรมที่ไม่มีฟังก์ชั่นในการรับอินพุต / เอาต์พุตคุณสามารถใช้ฟังก์ชันเช่น readLine / print
คุณไม่ได้รับอนุญาตให้ใช้ "eval" ใด ๆ ในโปรแกรม
เบอร์และผู้ประกอบการจะถูกแยกออกโดยหนึ่งหรือมากกว่าช่องว่าง
คุณต้องสนับสนุนอย่างน้อย +, -, * และ / โอเปอเรเตอร์
คุณต้องเพิ่มการรองรับกับจำนวนลบ (เช่น-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
ในการวิเคราะห์ตัวเลข? มันฟังดูค่อนข้างหัก (GolfScript เป็นหนึ่งในภาษาดังกล่าวเท่าที่ฉันรู้ฉันคิดว่ามันก็หักเช่นกัน)
eval(s)
ดีกว่าfloat(s)
~
ตัวอักษร: :-P