RationalNumberクラス
あなたの課題は、PythonでRationalNumber
クラスを定義することです。このクラスは、有理数、つまり2つの整数(分子と分母)の商で表される数を表現するために使用します。
RationalNumber
クラスは、以下の特徴を持つ必要があります:
クラスは、有理数の
numerator
(分子)とdenominator
(分母)という2つのプライベートな整数属性を持ちます。クラスは、2つの有理数を加算、減算、乗算、除算するために、マジックメソッドの
__add__
、__sub__
、__mul__
、__truediv__
をそれぞれ定義します。加算、減算、乗算、除算の各演算は、有理数に対して数学的に正確に行われ、結果は別の
RationalNumber
インスタンスとなるべきです。クラスは、分子と分母をその最大公約数(GCD)で割ることで、有理数を既約分数に簡約化します。
クラスは、既約分数の形式で
<numerator> / <denominator>
という文字列を返す__str__
マジックメソッドを実装します。
入力 | 出力 |
---|---|
| 5 / 6 |
Constraints
Time limit: 2 seconds
Memory limit: 512 MB
Output limit: 1 MB