給定兩個表示複數的字串。
返回表示它們乘積的字串。注意,根據定義 i2 = -1 。
示例 1:
輸入: "1+1i", "1+1i"
輸出: "0+2i"
解釋: (1 + i) * (1 + i) = 1 + i2 + 2 * i = 2i ,你需要將它轉換為 0+2i 的形式。
示例 2:
輸入: "1+-1i", "1+-1i"
輸出: "0+-2i"
解釋: (1 - i) * (1 - i) = 1 + i2 - 2 * i = -2i ,你需要將它轉換為 0+-2i 的形式。
注意:
輸入字串不包含額外的空格。
輸入字串將以 a+bi 的形式給出,其中整數 a 和 b 的範圍均在 [-100, 100]之間。輸出也應當符合這種形式。
對於兩個複數a1+b1i、a2+b2i,其乘法的結果為(a1a2-b1b2)+(a1b2+b1a2)i,因此我們先獲取a1、b1、a2、b2,然後利用公式求出。詳細過程見**
string complexnumbermultiply
(string a, string b)
if(fuhao) a1 *=-
1;fuhao =0;
i++;if
(a[i]
=='-'
) fuhao=1;
else b1 = a[i]
-'0'
;for
(i++
; ilength()
-1; i++)if
(fuhao) b1 *=-
1;fuhao=0;
if(b[0]
=='-'
) fuhao=1;
else a2=b[0]
-'0'
;for
(i=1
; b[i]
!='+'
; i++)if
(fuhao) a2 *=-
1;fuhao =0;
i++;if
(b[i]
=='-'
) fuhao=1;
else b2 = b[i]
-'0'
;for
(i++
; ilength()
-1; i++)if
(fuhao) b2 *=-
1;return
to_string
(a1*a2-b1*b2)
+"+"
+to_string
(a1*b2+b1*a2)
+"i"
;}
537 複數乘法
給定兩個表示複數的字串。返回表示它們乘積的字串。注意,根據定義 i2 1 示例 1 輸入 1 1i 1 1i 輸出 0 2i 解釋 1 i 1 i 1 i2 2 i 2i 你需要將它轉換為 0 2i 的形式。示例 2 輸入 1 1i 1 1i 輸出 0 2i 解釋 1 i 1 i 1 i2 2 i ...
力扣 537 複數乘法
給定兩個表示複數的字串。返回表示它們乘積的字串。注意,根據定義 i2 1 輸入字串不包含額外的空格。輸入字串將以 a bi 的形式給出,其中整數 a 和 b 的範圍均在 100,100 之間。輸出也應當符合這種形式。輸入 1 1i 1 1i 輸出 0 2i 解釋 1 i 1 i 1 i2 2 i 2...
複數乘法 leetcode No 537 複數乘法
537.複數乘法 力扣 leetcode leetcode cn.com 題目描述 給定兩個表示複數的字串。返回表示它們乘積的字串。注意,根據定義 i2 1 示例 1 輸入 1 1i 1 1i 輸出 0 2i 解釋 1 i 1 i 1 i2 2 i 2i 你需要將它轉換為 0 2i 的形式。示例 2...