跳到主要内容

537.复数乘法

链接:537.复数乘法
难度:Medium
标签:数学、字符串、模拟
简介:给你两个字符串表示的复数 num1 和 num2 ,请你遵循复数表示形式,返回表示它们乘积的字符串。

题解 1 - cpp

  • 编辑时间:2022-02-25
  • 内存消耗:5.7MB
  • 编程语言:cpp
  • 解法介绍:模拟。
class Solution {
public:
void analysis(string num, int& snum, int& fnum) {
int add = num.find("+");
snum = atoi(num.substr(0, add).c_str());
fnum = atoi(num.substr(add + 1, num.size() - add - 1).c_str());
}
string complexNumberMultiply(string num1, string num2) {
int snum1, fnum1, snum2, fnum2;
analysis(num1, snum1, fnum1);
analysis(num2, snum2, fnum2);
ostringstream ostr;
ostr << snum1 * snum2 + fnum1 * fnum2 * -1 << "+"
<< snum1 * fnum2 + snum2 * fnum1 << "i";
return ostr.str();
}
};