leetcode537复数乘法

leetcode537 Complex Number Multiplication

Posted by BY on May 31, 2019

前言

新的一年,好好学习。

正文

问题来源

本问题来自leetcode上的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 = -2i ,你需要将它转换为 0+-2i 的形式。 

分析:

func complexNumberMultiply(a string, b string) string {
    var p, q, m, n int
    fmt.Sscanf(a, "%d+%di", &p, &q)
    fmt.Sscanf(b, "%d+%di", &m, &n)
    return fmt.Sprintf("%d+%di", (p*m-q*n), (m*q+p*n))
}

总结:

勤思考。

结语

不管怎么样好好加油。