演算法 大數加法

2021-08-08 09:28:35 字數 872 閱讀 3490

將兩個無法使用基本資料型別儲存的大數進行加法運算。

基本思路:

使用字串型別進行輸入輸出,處理時將其每一位轉換成int型別,進行加減和進製。
c語言實現:

這個是自己編完,根據網上的其他**進行了一些修改刪減得出的**。個人認為相比網上的一些**,更具有可讀性和實用性,還是比較值得記錄的。
#include 

#include

#define maxsize 101

void add(char a,char b,char s);

for(i=0;iint)(a[i]-'0');

int sizeb=strlen(b);

int intb[maxsize-1]=;

for(i=0;iint)(b[i]-'0');

//逆序加數

int e=0;

for(i=0;i2;i++)

for(i=0;i2;i++)

//相加

int sum[maxsize]=;

for(i=0;inta[i]!=0||intb[i]!=0;i++)

//轉化結果為char

int j;

for(j=0;j1;j++)

s[j]=sum[j]+'0';

//排除最高位為0的可能

if(s[i]=='0')

s[i]='\0';

else

s[i+1]='\0';

//逆序結果

char m;

for(i=0;i}//大數相加

int main()

演算法 大數加法和大數乘法

大數加法 以字串的形式讀入兩個數字,編寫乙個函式計算它們的和,以字串形式返回。字串長度不大於100000,保證字串僅由 0 9 這10種字元組成 public string solve add string s,string t else if j 0 else int sum x y m m su...

大數加法運算演算法

1.大數儲存的實現 作為實現大數儲存最常見的一類方法是利用陣列。將乙個有 n 位的大數存入陣列 每個陣列的乙個元素表示一位十進位制數。2.大數加法運算 看下面乙個例子 122345678902345 34567890012 122380246792357 在上面的加法運算中 並沒有考慮參與運算的數的...

NOIP演算法 大數的加法

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