高精度加法

2021-06-29 12:45:45 字數 1074 閱讀 5883

問題描述:輸入兩個整數 a 和 b,輸出這兩個整數的和。a 和 b 都不超過 100 位。

演算法描述

由於 a 和 b 都比較大,所以不能直接使用語言中的標準資料型別來儲存。對於這種問題,一般使

用陣列來處理。

定義乙個陣列 a,a[0]用於儲存 a 的個位,a[1]用於儲存 a 的十位,依此類推。同樣可以用乙個

陣列 b來儲存 b。

計算 c = a + b 的時候,首先將 a[0]與 b[0]相加,如果有進製產生,則把進製(即和的十位數)

存入 r,把和的個位數存入 c[0],即 c[0]等於(a[0]+b[0])%10。然後計算 a[1]與 b[1]相加,這時還應

將低位進上來的值 r 也加起來,即 c[1]應該是 a[1]、b[1]和 r 三個數的和.如果又有進製產生,則仍

可將新的進製存入到 r 中,和的個位存到 c[1]中。依此類推,即可求出 c 的所有位。

最後將 c 輸出即可。

輸入格式:輸入包括兩行,第一行為乙個非負整數 a,第二行為乙個非負整數 b。兩個整數都不超過

100 位,兩數的最高位都不是 0。

輸出格式:輸出一行,表示 a + b 的值。

樣例輸入

20100122201001221234567890

2010012220100122

樣例輸出

//************************高精度加法-p23 

#include #include using namespace std;

int sum(int *n1,int size1,int *n2,int size2,int *n)

if(i>=0)

if(temp!=0) return k;

} else if(j>=0)

if(temp!=0) return k;

} else if(i<0&&j<0&&temp!=0) }

void showout(int *n,int size)

void analysis(string s,int *n,int size)

python高精度加法 高精度加法

1.思路 其實就是模擬,加法是最簡單的,從個位開始加,價位加到前一位,然後再取10的餘數。for int i 1 i len i 計算和 c i a i b i 進製 c i 1 c i 10 取10的餘數 c i 10 2.實現 int len max a.length b.length 倒著存,...

高精度加法 高精度減法

雖然以前自己就學習過,但是自己打出來的 目測效率不高,也不夠精簡 因此學習一下eden裡面的這一題 big integer add subtract ifndef big integer define big integer include include using std string usin...

高精度加法

program gjplus vars1,s2,s3,st,s string i,j,k,l1,l2,li,n1,n2,n3,n4 integer begin readln s1 readln s2 l1 length s1 l2 length s2 if l1 l2 then li l1 else...