將兩個無法使用基本資料型別儲存的大數進行加法運算。
基本思路:
使用字串型別進行輸入輸出,處理時將其每一位轉換成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 一 我們為什麼不能對大數直...