題意:
我有乙個非常簡單的問題要告訴你。給定兩個整數 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 本題目包含多組...