求兩個不超過200位的非負整數的和。
輸入有兩行,每行是乙個不超過200位的非負整數,可能有多餘的前導0。
輸出一行,即相加後的結果。結果裡不能有多餘的前導0,即如果結果是342,那麼就不能輸出為0342。
樣例輸入
22222222222222222222樣例輸出 思路:確定兩數中的最長位數,將位數小的數字前面補 0 ,接著就是小學加減法套路,由右至左上下相加,滿十進一33333333333333333333
(哭笑)忘考慮輸入多位 0 的情況了,活生生地檢查了六七遍**。
**:
#include#includeusing namespace std;
int main()
tem += (c + '0');
int k;
for (k = tem.length() - 1; k >= 0; k--)//確定前導 0 的位置
if (tem[k] != '0')
break;
if (k==-1)//漏掉的 000 + 0000 情況
cout << "0";
else
for (int i = k; i >= 0; i--)
cout << tem[i];
cout << endl;
}
高精度 大整數加法
求兩個不超過200位的非負整數的和。有兩行,每行是乙個不超過200位的非負整數,可能有多餘的前導0。一行,即相加後的結果。結果裡不能有多餘的前導0,即如果結果是342,那麼就不能輸出為0342。22222222222222222222 33333333333333333333 本題考察的是高精度計算...
高精度整數加法 OJ
在計算機中,由於處理器位寬限制,只能處理有限精度的十進位制整數加減法,比如在32位寬處理器計算機中,參與運算的運算元和結果必須在 231 231 1之間。如果需要進行更大範圍的十進位制整數加法,需要使用特殊 的方式實現,比如使用字串儲存運算元和結果,採取逐位運算的方式。如下 9876543210 1...
高精度正整數加法
使用的是模擬手算的方法 例如 123456 123412 3456 123 4 12 4690 我們手算時都是從最右邊開始豎著的那位相加的,依次向左重複豎著相加 s1長度長,s2短 這裡使用引用引數 是為了不要再生成s1,s2字串 void add string s1,string s2 if cn...