1.大數相加:
第一種思路,在短的字串中補零:
class solution
while(al > bl)
for(int j = a.size() - 1; j > 0; -- j) //從後到前遍歷所有的位數,同位相加
}a[0] = a[0] - '0' + b[0]; //將ab的第0位相加
if(a[0] >= '2') //若大於等於2,需要進一
return a;
}};
第二種傳統做法:
class solution
int lena = a.size()-1;
int lenb = b.size()-1;
int flag=0;
string res;
while (lenb >= 0)
while (lena >=0)
if (flag > 0)
reverse(res.begin(),res.end());
return res;
}};
2.大數相乘:
class solution
}for (int i = len3-1; i >= 1; i--)
int count=0;
while (vec[count] == 0 && countfor (int i = count; i < len3; i++)
return res;
}};
大數問題 用字串解決大數相加和相乘
1 加法 assume m is bigger than n.char add char a,char b,int m,int n 將由純數字組成的結果轉換為字串,並去除首部可能還存在的零。c m 1 0 for int i 0 i m 1 i c i 0x30 if c 0 0x30 for in...
大數問題 用字串解決大數相加和相乘
1 加法 assume m is bigger than n.char add char a,char b,int m,int n 將由純數字組成的結果轉換為字串,並去除首部可能還存在的零。c m 1 0 for int i 0 i m 1 i c i 0x30 if c 0 0x30 for in...
字串 大數相加
題目 定義兩個一維字元陣列a 20 b 20 表示兩個大正整數,定義c 50 表示a b的結果。輸入大數a和b的位數m n 3 m n 20 以字串形式分別輸入m位大數a和n位大數b,完成a b的計算,並以字元型資料儲存計算結果。因為是 大數 所以用int long long long都不行,需運用...