Classe RationalNumber
A sua tarefa é definir uma classe
RationalNumber
em Python. Esta classe será utilizada para representar um número racional, ou seja, um número que pode ser expresso como o quociente de dois inteiros (numerador e denominador).A classe
RationalNumber
deve ter as seguintes características:- A classe deve ter dois atributos inteiros privados, o
numerator
e odenominator
do número racional.
- Deve definir os métodos mágicos
__add__
,__sub__
,__mul__
e__truediv__
para adicionar, subtrair, multiplicar e dividir dois números racionais, respectivamente.
- As operações de adição, subtração, multiplicação e divisão devem ser realizadas de forma matematicamente correta para números racionais, resultando em outra instância de
RationalNumber
.
- A classe deve simplificar o número racional para a sua forma mais simples, dividindo o
numerator
e odenominator
pelo seu máximo divisor comum (MDC).
- Deve implementar o método mágico
__str__
que retorna uma string<numerator> / <denominator>
na sua forma mais simplificada.
Entrada | Saída |
print(RationalNumber(1, 2) + RationalNumber(1, 3)); print(RationalNumber(1, 2) - RationalNumber(1, 3)); print(RationalNumber(1, 2) * RationalNumber(1, 3)); print(RationalNumber(1, 2) / RationalNumber(1, 3)); | 5 / 6
1 / 6
1 / 6
3 / 2 |
Constraints
Time limit: 1 seconds
Memory limit: 512 MB
Output limit: 1 MB