[SEOI2024 T1] 二元運算器
題目背景
你用過D991CN嗎?就是那個白蓋子的黑色計算器。雖然製作一個實體的計算器非常困難,但是製作一個程式計算給定的數字是非常容易的!由於這是比賽的第一題,你只需要設計一個支援幾種二元運算的簡單計算器即可!
題目描述
你需要完成一個二元運算器,支援一些二元運算。
這個運算器首先會讀取一個Ascii運算子\(opt\),運算子有\(5\)種,“+,-,*,/,%,^",分別代表加,減,乘,除,模(取餘),冪。然後計算器會讀取兩個整數\(num_1\),\(num_2\)。你需要輸出\(num_1 \ opt \ num_2\)的結果。如果運算出現數學錯誤,請輸出”math error"。如果出現小數結果,請四捨五入至整數。對於模運算我們給出的資料保證均非負。
輸入格式
第一行一個Ascii字元,包括“+,-,*,/,%,^”。
第二行兩個參與運算的兩個整數\(num_1\),\(num_2\)。如果是取模運算我們保證給出的資料均非負。
輸出格式
一行,如果出現數學錯誤輸出"math error",否則答案四捨五入至整數的結果。
樣例 #1
樣例輸入 #1
+
1 1
樣例輸出 #1
2
樣例 #2
樣例輸入 #2
/
3 2
樣例輸出 #2
2
樣例 #3
樣例輸入 #3
/
2 0
樣例輸出 #3
math error
樣例 #4
樣例輸入 #4
%
3 2
樣例輸出 #4
1
提示
對於\(100\%\)的資料,保證 $ 2^{-63}\le $ 運算結果 $ \le 2^{63}-1 $。
子任務編號 | 特殊性質 | 分值 |
---|---|---|
Subtask #1 | 僅包含+,- | \(10pts\) |
Subtask #2 | 僅包含*,^ | \(10pts\) |
Subtask #3 | 僅包含/,% | \(20pts\) |
Subtask #4 | 無 | \(60pts\) |