Classe RationalNumber
Votre tâche est de définir une classe RationalNumber
en Python. Cette classe doit être utilisée pour représenter un nombre rationnel, c'est-à-dire un nombre qui peut s'exprimer comme le quotient de deux entiers (numérateur et dénominateur).
La classe RationalNumber
doit avoir les caractéristiques suivantes :
La classe doit avoir deux attributs entiers privés : le
numerator
(numérateur) et ledenominator
(dénominateur) du nombre rationnel.La classe doit définir les méthodes magiques
__add__
,__sub__
,__mul__
et__truediv__
pour additionner, soustraire, multiplier et diviser deux nombres rationnels, respectivement.Les opérations d'addition, de soustraction, de multiplication et de division doivent être réalisées de manière mathématiquement exacte pour les nombres rationnels, le résultat étant une nouvelle instance de
RationalNumber
.La classe doit réduire le nombre rationnel à sa forme la plus simple en divisant le numérateur et le dénominateur par leur plus grand commun diviseur (PGCD).
La classe doit implémenter la méthode magique
__str__
qui retourne une chaîne de caractères sous la forme<numerator> / <denominator>
dans sa forme la plus simple.
Entrée | Sortie |
---|---|
| 5 / 6 |
Constraints
Time limit: 2 seconds
Memory limit: 512 MB
Output limit: 1 MB