a664: 四則運算
Tags : 堆疊
Accepted rate : 327人/436人 ( 75% ) [非即時]
評分方式:
Strictly

最近更新 : 2013-06-22 14:49

Content
一般日常生活中所用的數學表示法都是中序法。但是中序法有運算符號的優先權結合性問題,再加上複雜的括號困擾,對於編譯器處理上很傷腦筋。解決之道是將它換成後序法(較常用)或前序法。因為後序法只需一個堆疊暫存器(而前序法需要2個),所以計算機中多半使用後序法來計算運算式的運算結果 。
Input

輸入資料第一行只有一個數字n(n<=10),為代表共有幾個運算式要被計算 。接下來n行的資料,每一行代表要被計算的式子,而運算式之中,已經包含必要的左括號與右括號,與四種運算子符號:+,-,*,/。不必擔心少括號的問題,只要注意括號與四則運算的優先順序即可,而各運算式中的運算元數字,最大為65535。運算結果不會超過264-1-1。而且運算式中的括號,運算子與運算元的個數總數不會超過100個。

例如運算式 (((6+9)/3)*(6-4)) 

運算子只會出現 +,-,*,/。而運算元數字最大為65535。上列中的括號,運算子與運算元個數總數共有17個。

Output
輸出每一個運算式,經由計算後的答案。
Sample Input #1
3
(((6+9)/3)*(6-4)) 
(((8*(2-3))*4)/2)
((5+(7*6))-((3/(2-5))*4))
Sample Output #1
10
-16
51 
測資資訊:
記憶體限制: 512 MB
公開 測資點#0 (60%): 1.0s , <1K
公開 測資點#1 (40%): 1.0s , <1K
Hint :
http://content.edu.tw/senior/computer/ks_ks/et/datastruct/compute/compute.htm
Tags:
堆疊
出處:
[管理者: franklin(唵嘛呢叭彌牛) ]


ID User Problem Subject Hit Post Date
31066 Super487(Super487) a664
C++ 紀錄(AC)
198 2022-07-09 16:57
28823 jeter.nice@g...(唯一) a664
python 一行解
349 2022-01-06 12:56
26534 1234567weewe...(weewee457123456...) a664
python真香
638 2021-08-12 14:52