大數加法A B

2021-09-25 16:44:36 字數 1190 閱讀 2610

題意:

我有乙個非常簡單的問題要告訴你。給定兩個整數 a 和 b,您的工作是計算 a + b 的總和。‎

input:

輸入的第一行包含乙個整數 t(1<=t<=20),這意味著測試用例的數量。然後t線跟隨,每行由兩個正整數a和b組成。 請注意,整數非常大,這意味著你不應該使用32位整數來處理它們。您可以假定每個整數的長度不會超過 1000。

output:

對於每個測試用例,應輸出兩行。第一行是"case #:",# 表示測試用例的數量。第二行是乙個方程"a + b = sum",sum表示 a + b 的結果。在兩個測試用例之間輸出乙個空白行。‎

sample input:

21 2

112233445566778899 998877665544332211

sample output:

case 1:

1 + 2 = 3

case 2:

112233445566778899 + 998877665544332211 = 1111111111111111110

題意分析:因為每個整數的位數不超過1000位,則無法用int,long int 等(都會超過其表示的最大範圍),最後聯想到用字串表示,並按位相加計算出其和。

#include#include#includeconst int mx=1005;

int sum[mx];

char s1[mx],s2[mx];

using namespace std;

int main()

}if(n>=m) ///如果s1的長度大於或等於s2}}

else ///如果s2的長度大於s1}}

printf("case %d:\n",flag);

printf("%s + %s = ",s1,s2);

if(sum[i]>0) ///最後一位有進製就輸出

cout<=0;j--) //因為數字是按個位開始相加,最後輸出時則需倒著輸出

cout<=1) ///格式輸出,最後一組不會多隔乙個空行

cout<}

return 0;

}

牛客大數加法 A B

題目描述 實現乙個加法器,使其能夠輸出a b的值。輸入描述 輸入包括兩個數a和b,其中a和b的位數不超過1000位。輸出描述 可能有多組測試資料,對於每組資料,輸出a b的值。示例1輸入 2 610000000000000000000 10000000000000000000000000000000...

大數加法 這還是簡單的A B嗎?

11111111111111111111 22222222222222222222 33333333333333333333 最近遇到一道很有意思的題目,就如上所示,20位的數字相加。剛開始的時候,沒多想,覺得就是簡單地加減法,那還不簡單,和我一樣想法的人應該還會有吧。可是執行後發現,根本行不通,於...

HDOJ 1753 大明A B (大數加法)

problem description 話說,經過了漫長的乙個多月,小明已經成長了許多,所以他改了乙個名字叫 大明 這時他已經不是那個只會做100以內加法的那個 小明 了,現在他甚至會任意長度的正小數的加法。現在,給你兩個正的小數a和b,你的任務是代表大明計算出a b的值。input 本題目包含多組...