NOI1 6 10大整數加法 附帶詳細注釋題解

2021-10-04 17:43:53 字數 982 閱讀 4783

題目傳送門

10:大整數加法

檢視提交統計提問

總時間限制: 1000ms 記憶體限制: 65536kb

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

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

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

樣例輸入

22222222222222222222

33333333333333333333

樣例輸出

55555555555555555555

思路就是輸入完後儲存到乙個int的陣列中,然後再按位相加,最後只要把前導0去掉就行了。

#include

using

namespace std;

intmain()

,n2[

205]=;

int i;

cin>>c1>>c2;

int len1 =

strlen

(c1)

;int len2 =

strlen

(c2)

;for

(i =

1;i<=len1;i++

)n1[i]

= c1[len1-i]-48

;for

(i =

1;i<=len2;i++

)n2[i]

= c2[len2-i]-48

;// 將c1,c2轉入int陣列中

for(i =

1;i<=len1||i<=len2;i++)}

while

(n1[i]==0

&&i>

1)i--

;//遇到前導0起始輸出位置++

while

(i)cout

return0;

}

1 6 10大整數加法

描述 求兩個不超過200位的非負整數的和。輸入 有兩行,每行是乙個不超過200位的非負整數,可能有多餘的前導0。輸出一行,即相加後的結果。結果裡不能有多餘的前導0,即如果結果是342,那麼就不能輸出為0342。樣例輸入 22222222222222222222 3333333333333333333...

1 6 10 大整數加法

描述 求兩個不超過200位的非負整數的和。輸入有兩行,每行是乙個不超過200位的非負整數,可能有多餘的前導0。輸出一行,即相加後的結果。結果裡不能有多餘的前導0,即如果結果是342,那麼就不能輸出為0342。樣例輸入 22222222222222222222 33333333333333333333...

大整數加法

include include include include define debug void plus char char char int is valid char void reverse char int main int argc,char argv up loop 0 strcpy...