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:
輸入: "1+-1i", "1+-1i"
輸出: "0+-2i"
解釋: (1 - i) * (1 - i) = 1 + i2 - 2 * i = -2i ,你需要將它轉換為 0+-2i 的形式。
注意:輸入字串不包含額外的空格。
輸入字串將以a+bi的形式給出,其中整數a和b的範圍均在 [-100, 100] 之間。輸出也應當符合這種形式。
解題思路:
複數的乘法公式為:
可以簡單根據 '+' 和 'i' 符號把字串分割為實部和虛部,然後用上式計算即可,可以看出數學的部分並不難,就是字串分割有點麻煩。
現在很多上機筆試是要求不僅寫乙個簡單的函式,而是也要有輸入輸出的部分,所以這部分提前也是要練一練,我反正有一次確定我的答案是對的,但是無奈輸出格式老是被卡住。。。
本題在具體實現的時候,為了簡單,我們可以用 sscanf 函式來讀取字串。
sscanf 的作用是從乙個字串中讀進與指定格式相符的資料。利用它可以從字串中取出整數、浮點數和字串。
sscanf 和 scanf 的區別:scanf 是以鍵盤作為輸入源,而 sscanf 是以字串作為輸入源。
**如下:
class solution
};
如果有任何疑問,歡迎提出。如果有更好的解法,也歡迎告知。 1051 複數乘法
題目是pat乙級 思路 注意不要輸出 0,就可以了。其它要按照格式 訓練目的 輸出格式 題目描述 複數可以寫成 a bi 的常規形式,其中a是實部,b是虛部,i是虛數單位,滿足i2 1 也可以寫成極座標下的指數形式 r e pi 其中r是複數模,p是輻角,i是虛數單位,其等價於三角形式 r cos ...
1051 複數乘法
1051 複數乘法 15 分 複數可以寫成 a bi 的常規形式,其中 a 是實部,b 是虛部,i 是虛數單位,滿足 i 2 1 也可以寫成極座標下的指數形式 r e pi 其中 r 是複數模,p 是輻角,i 是虛數單位,其等價於三角形式 r cos p isin p 現給定兩個複數的 r 和 p,...
1051 複數乘法
複數可以寫成 a bi 的常規形式,其中 a 是實部,b 是虛部,i 是虛數單位,滿足 i 2 1 也可以寫成極座標下的指數形式 r e pi 其中 r 是複數模,p 是輻角,i 是虛數單位,其等價於三角形式 r cos p isin p 現給定兩個複數的 r 和 p,要求輸出兩數乘積的常規形式。輸...