ComplexNumber クラス
あなたは、複素数の動作をカプセル化する ComplexNumber クラスを作成するよう求められています。複素数は、a + bi の形で表すことができ、ここで a と b は実数、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$$。
入力 | 出力 |
|---|---|
| 3 + 3 i |
Constraints
Time limit: 2 seconds
Memory limit: 512 MB
Output limit: 1 MB