ComplexNumber クラス

あなたは、複素数の動作をカプセル化する ComplexNumber クラスを作成するよう求められています。複素数は、a + bi の形で表すことができ、ここで ab は実数、i は方程式 の解です。この方程式を満たす実数は存在しないため、i は虚数()と呼ばれます。
あなたの ComplexNumber クラスは以下の属性を持たなければなりません:
  • real: 複素数の実部(a
  • imaginary: 複素数の虚部(b
以下のマジックメソッドを実装してください:
  • __add__: 2つの複素数を加算し、その結果を表す新しい ComplexNumber オブジェクトを返します:
  • __sub__: 1つの複素数から別の複素数を減算し、その結果を表す新しい ComplexNumber オブジェクトを返します:
  • __mul__: 2つの複素数を乗算し、その結果を表す新しい ComplexNumber オブジェクトを返します:
  • __truediv__: 1つの複素数を別の複素数で除算し、その結果を表す新しい ComplexNumber オブジェクトを返します:
$$\frac{a1 \cdot a2 + b1 \cdot b2}{a2^2 + b2^2} + \frac{b1 \cdot a2 - a1 \cdot b2}{a2^2 + b2^2} i$$。
入力
出力
print(ComplexNumber(1, 1) + ComplexNumber(2, 2)); print(ComplexNumber(2, 3) - ComplexNumber(1, 1)); print(ComplexNumber(2, 3) * ComplexNumber(1, 1)); print(ComplexNumber(2, 2) / ComplexNumber(1, 1)); print(ComplexNumber(1, 1) - ComplexNumber(2, 3))
3 + 3 i 1 + 2 i -1 + 5 i 2.0 + 0.0 i -1 + -2 i
 

Constraints

Time limit: 2 seconds

Memory limit: 512 MB

Output limit: 1 MB

To check your solution you need to sign in
Sign in to continue