2011年10月29日 星期六

288 - Arithmetic Operations With Large Integers

本題是關於大數運算,數值最大到1000位,運算僅包含加法、減法、乘法、指數次方。 指數項的底數為正數且小於10,而指數部份則為正值。

輸入資料為合法的運算式,不會出現括號,但一般的先乘除後加減的法則是存在的。

以兩個*符號表示指數。

12345678 * 129876 + 2**1993為合法的運算式,12345678 * 129876 + 12**1993為不合法的運算式,因為指數項的底數大於9。

Input

輸入會有多組測試資料,每組運算式一列,其格式為: n op n { op n},n 表示正的十進位數,且最多1000位,op 表示 +, -, *, ** 其中一種。每個運算式最多有100個運算元,且不會有空白字元或其他不合法的字元出現在運算式裡面。

Output

請每組一列輸出每個運算式的答案,每個答案最長不會超過3000個字元。

Sample Input

12345678*129876+2**1993

Sample Output

896977105683011347056900938420064050017435704756793125373158388145129891712789307700515223684770523373785909874208955291755561688174261977676508872005197801086953040197752187505381087095625350558038492109870986287356370809737409093338414265941143390397695285610643740694879918793932122262001282984143224073001319601441082075018589725061828585163552941409601583724270514300953188533095947591884905338415676554651534516617357655143781579373852994152663198702360093129335607684294312805938140290754926427776409574872859496315224893901812925850900592061583009183090068756428459147015355107518672556877720


原文出處

沒有留言:

張貼留言