大整數加法 高精度訓練 C

2021-09-25 23:48:21 字數 784 閱讀 7070

求兩個不超過200位的非負整數的和。

輸入有兩行,每行是乙個不超過200位的非負整數,可能有多餘的前導0。

輸出一行,即相加後的結果。結果裡不能有多餘的前導0,即如果結果是342,那麼就不能輸出為0342。

樣例輸入

22222222222222222222

33333333333333333333

樣例輸出

思路:確定兩數中的最長位數,將位數小的數字前面補 0 ,接著就是小學加減法套路,由右至左上下相加,滿十進一

(哭笑)忘考慮輸入多位 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...