有次周五失眠,嘗試下了下大數相加的演算法。這個週末再優化下,先露露臉。
#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...