2022年8月16日 星期二

Python a021: 大數運算

 a021: 大數運算

參考 https://steam.oxxostudio.tw/category/python/zerojudge/a021.html

#a021: 大數運算

'''

我們都知道電腦擅長於各種數字的計算,可是,我們又知道

各種程式語言的變數又都有上限,比如整數只有232 或 264 個。

如果要計算更大的數字時又該如何計算呢?

就交給聰明的您來解決囉。


以 + 代表加法

以 - 代表減法

以 * 代表乘法

以 / 代表除法 (取商數)

輸入說明

輸入共一行,每一行包含兩個正整數的運算式,運算元及運算子之間以空格隔開

輸出說明

輸出兩個正整數的運算結果,總長度不超過 500 個位數


範例輸入 #1

2222222222222222222222222 + 1111111111111111111111111

範例輸出 #1

3333333333333333333333333


範例輸入 #3

2222222222222222222222222 * 1111111111111111111111111

範例輸出 #3

2469135802469135802469135308641975308641975308642


'''

print('#a021: 大數運算')


while True:

  try:

    s = input('兩個正整數的運算式,運算元及運算子之間以空格隔開--->').replace('/','//')   # 轉換成除法求整數

    output = int(eval(f'{s}'))      # 使用 eval() 直接計算結果

    print(output)

  except:

    break



>>> %Run a021.py

#a021: 大數運算

兩個正整數的運算式,運算元及運算子之間以空格隔開--->2222222222222222222222222 * 1111111111111111111111111

2469135802469135802469135308641975308641975308642

兩個正整數的運算式,運算元及運算子之間以空格隔開--->2222222222222222222222222 + 1111111111111111111111111

3333333333333333333333333

兩個正整數的運算式,運算元及運算子之間以空格隔開--->2222222222222222222222222 / 1111111111111111111111111

2

兩個正整數的運算式,運算元及運算子之間以空格隔開--->2222222222222222222222222 - 1111111111111111111111111

1111111111111111111111111

兩個正整數的運算式,運算元及運算子之間以空格隔開--->

>>> 

沒有留言:

張貼留言

2024_09 作業3 以Node-Red 為主

 2024_09 作業3  (以Node-Red 為主  Arduino 可能需要配合修改 ) Arduino 可能需要修改的部分 1)mqtt broker  2) 主題Topic (發行 接收) 3) WIFI ssid , password const char br...