字串相乘

2021-10-04 23:33:08 字數 950 閱讀 7674

例:123 * 456 = 123 * 6 + 123 * 50 + 123  * 400

738 + 6150 + 49200

num1[i] 與 num2[j]

所有i+j相同的位置運算在豎式是相同的例如

num[2] 與 num[1] 和 num[1] 與 num[2]

3 * 5 = 15 與 2 * 6 = 12

15 + 12 再加上乙個來自下位的進製就得到這個位置的值

進製值: result[i-1] += result[i] / 10

本位值: result[i] % = 10;

最後計算的資料長度範圍是在num1.size() + num2.size() - 1 到 num1.size() + num2.size()

如果最高進製的資料大於等於10

位數會增長到num1.size() + num2.size()

class

solution

}// num1 * num2

// for(auto c:result) cout << c

size()

+ num2.

size()

-1;for

(int i=end; i>0;

--i)

string res ="";

if(result[0]

>9)

// 處理高位

for(

int i=

0; i

++i) res +

= result[i]

+'0'

;return res;}}

;

字串相乘

定給兩個以字串形式表示的非負整數 num1狀語從句 num2,報道檢視 num1狀語從句 num2的乘積,它們的乘積也表示為字串形式。示例1 輸入 num1 2 num2 3 輸出 6 示例2 輸入 num1 123 num2 456 輸出 56088 說明 num1狀語從句 num2的長度小於11...

字串相乘

給定兩個以字串形式表示的非負整數num1和num2,返回num1和num2的乘積,它們的乘積也表示為字串形式。思路 經過學習,大致思路有兩種 第一種思路為進行每一位相乘運算時,同時處理進製,以每一位保持小於等於 9 大於等於 0 的數儲存到char陣列中。第二種思路為先進行每一位的相乘運算,儲存到c...

字串相乘

給定兩個以字串形式表示的非負整數 num1 和 num2,返回 num1 和 num2 的乘積,它們的乘積也表示為字串形式。示例 1 輸入 num1 2 num2 3 輸出 6 示例 2 輸入 num1 123 num2 456 輸出 56088 說明 num1 和 num2 的長度小於110。nu...