字串實現大數相乘以及大數相加

2021-10-24 09:45:32 字數 800 閱讀 1363

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都不行,需運用...