#40794: python


n0970616056@gmail.com (CIOU-HE-CHEN)

學校 : 不指定學校
編號 : 273811
來源 : [111.253.1.171]
最後登入時間 :
2024-06-14 11:55:43
a021. 大數運算 | From: [111.253.1.171] | 發表日期 : 2024-06-13 11:56

解答

def calculate(expression): # 將輸入的運算式分割成運算元和運算子 num1, operator, num2 = expression.split() # 將運算元轉換為整數類型 num1 = int(num1) num2 = int(num2) # 根據運算子進行對應的運算 if operator == '+': result = num1 + num2 elif operator == '-': result = num1 - num2 elif operator == '*': result = num1 * num2 elif operator == '/': result = num1 // num2 # 使用整數除法,取商數 else: raise ValueError("無效的運算子") return result # 讀取輸入 expression = input().strip() # 計算結果 result = calculate(expression) # 輸出結果 print(result)

思路

要實現這個功能,我們可以使用 Python 的內建大數支援來處理運算。Python 的整數類型 (`int`) 可以處理任意大的數字,因此可以直接進行計算。以下是實現這一功能的程式碼: ```python def calculate(expression): # 將輸入的運算式分割成運算元和運算子 num1, operator, num2 = expression.split() # 將運算元轉換為整數類型 num1 = int(num1) num2 = int(num2) # 根據運算子進行對應的運算 if operator == '+': result = num1 + num2 elif operator == '-': result = num1 - num2 elif operator == '*': result = num1 * num2 elif operator == '/': result = num1 // num2 # 使用整數除法,取商數 else: raise ValueError("無效的運算子") return result # 讀取輸入 expression = input().strip() # 計算結果 result = calculate(expression) # 輸出結果 print(result) ``` 這段程式碼會讀取一行包含運算式的輸入,並根據運算子進行對應的運算,最後輸出結果。 ### 測試範例 你可以使用以下測試範例來驗證程式的正確性: #### 範例輸入 #1 ``` 2222222222222222222222222 + 1111111111111111111111111 ``` #### 範例輸出 #1 ``` 3333333333333333333333333 ``` #### 範例輸入 #2 ``` 2222222222222222222222222 - 1111111111111111111111111 ``` #### 範例輸出 #2 ``` 1111111111111111111111111 ``` #### 範例輸入 #3 ``` 2222222222222222222222222 * 1111111111111111111111111 ``` #### 範例輸出 #3 ``` 2469135802469135802469135308641975308641975308642 ``` #### 範例輸入 #4 ``` 2222222222222222222222222 / 1111111111111111111111111 ``` #### 範例輸出 #4 ``` 2 ``` 這樣應該可以正確計算並輸出結果。如果還有其他問題或需求,請隨時告訴我!

 
ZeroJudge Forum