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