#LAISIR49. 大數加法 III

大數加法 III

💥 題目名稱:大數加法 III

【題目描述】

給定兩個可能帶有負號與小數點的數字 ( A )、( B ),請計算它們的(即 ( A + B ) 的結果)。

這兩個數的整數部分與小數部分的長度都可能非常大,超出一般整數與浮點型別(intlong longdoublefloat)的表示範圍。 你需要模擬人工加法的過程來完成這項計算。


【輸入格式】

輸入共兩行:

第一行:數字 ( A ) 第二行:數字 ( B )

每個數字可能具有下列特性:

  • 可能以 - 開頭(表示負數);
  • 可能包含小數點 .
  • 若無小數部分,則視為整數;
  • 不含多餘的前導零與尾隨零(但允許 0.001100.0)。

【輸出格式】

輸出一行,表示 ( A + B ) 的計算結果。 結果需滿足:

  • 若結果為整數,則不輸出小數點;
  • 若有小數部分,去除尾部多餘的 0
  • 不得有多餘前導零(除非結果為 0);
  • 若結果為負數,需在最前方輸出 - 號。

【輸入範例 1】

123.45
-23.45

【輸出範例 1】

100

【輸入範例 2】

-100.5
-99.5

【輸出範例 2】

-200

【輸入範例 3】

999.99
-999.98

【輸出範例 3】

0.01

【數據範圍】

  • 整數部分長度 ≤ 10,000 位
  • 小數部分長度 ≤ 10,000 位
  • 輸入與輸出均不超過 ±(10^{20000})