大數相加的演算法

2021-06-06 17:17:25 字數 916 閱讀 7996

有次周五失眠,嘗試下了下大數相加的演算法。這個週末再優化下,先露露臉。

#include

#include

#include

#include

using namespace std;

char num1 =  "+1030000000000910";

char num2 =      "+10";

int strlen1 = strlen (num1);

int strlen2 = strlen (num2);

int key = 0;

char cnum[20] = ;

void numadd()

else

i--;

j--;

}while(i >= 1)

else

}else

cnum[19 - (strlen1 - 1 - i)] = num1[i];

i--;

}while(j >= 1)

else

}else

cnum[19 - ((strlen2 - 1) - j)] = num2[j];

j--;

}if (key == 1)

if (strlen1 > strlen2)

cnum[19 - ((strlen1 - 1) - i)] = 1 + '0';

else

cnum[19 - ((strlen2 - 1) - j)] = 1 + '0';

else

key = 0;

cnum[0] = num1[0];

return;

}void numdel()

int main (int argc, char *argv)

cout<}else

}

C C 「大數相加演算法」

函式原型介紹 cpp view plain copy first和second 任意大小的十進位制字串整數,該函式主要解決超出int和long值域的大型整數加法運算 first和second的取值範圍 可以是 99999999999999999 9999999999999999999 和 0 等 r...

大數相乘演算法(相加,相減)

所謂大數相乘,就是指數字比較大,相乘的結果超出了基本型別的表示範圍,所以這樣的數不能夠直接做乘法運算。假設有a和b兩個大數,位數分別為a和b。根據我們平常手動計算乘法的方式可以看出,最終的結果的位數c一定小於等於a b。由於數字無法用乙個整形變數儲存,很自然的想到用字串來表示一串數字。然後按照乘法的...

大數相乘 大數相加

大數相乘 大數相乘 1 include includeint main int ans i while lb 0 int cnt j for i 0 i 0 i if e i break 去除前面多餘的0 if i 1 else 當結果是0的時候 printf 0 printf n return 0...