复数的形式为 z = a + b * i,其中:
a 是实部(一个实数),
b 是虚部(也是一个实数),
i 是虚数单位,满足 i^2 = -1。
复数 z = a + b * i 的共轭为:
zc = a - b * i
z 的绝对值(或模)定义为:
|z| = sqrt(a^2 + b^2)
绝对值的平方,等于 z 与其共轭 zc 的乘积:
|z|^2 = z * zc = a^2 + b^2
两个复数 z1 = a + b * i 与 z2 = c + d * i 的和,等于分别相加它们的实部和虚部:
z1 + z2 = (a + b * i) + (c + d * i)
= (a + c) + (b + d) * i
两个复数之差,等于相减各自对应的部分:
z1 - z2 = (a + b * i) - (c + d * i)
= (a - c) + (b - d) * i
两个复数的乘积定义为:
z1 * z2 = (a + b * i) * (c + d * i)
= (a * c - b * d) + (b * c + a * d) * i
非零复数的倒数由下式给出:
1 / z = 1 / (a + b * i)
= a / (a^2 + b^2) - b / (a^2 + b^2) * i
一个复数除以另一个复数由下式给出:
z1 / z2 = z1 * (1 / z2)
= (a + b * i) / (c + d * i)
= (a * c + b * d) / (c^2 + d^2) + (b * c - a * d) / (c^2 + d^2) * i
把 e(自然对数的底)取复数次幂,可以用欧拉公式表示:
e^(a + b * i) = e^a * e^(b * i)
= e^a * (cos(b) + i * sin(b))
既然不能使用内置的复数支持,请实现以下运算: