a021: 大數運算
這篇教學會示範 ZeroJudge 基礎題庫「a021: 大數運算」的解題過程。
題目需求
電腦擅長於各種數字的計算,但各種程式語言的變數都有數字的上限,如果要計算更大的數字時又該如何計算呢?
題目連結:a021: 大數運算
解答
雖然有些程式語言有數字的上限,而 Python 已經直接支援大數運算,無需使用其他的函式或方法,下方的程式使用 eval() 的方法,直接計算輸入的數學式字串,比較需要注意的是如果單純用除法「/」會產生浮點數,需要轉換成「//」求整數 ( 因為題目是要求「商」,不會有小數點 )。
while True:
try:
s = input().replace('/','//') # 轉換成除法求整數
output = int(eval(f'{s}')) # 使用 eval() 直接計算結果
print(output)
except:
break
意見回饋
如果有任何建議或問題,可傳送「意見表單」給我,謝謝~