Класс RationalNumber
Ваша задача — определить класс RationalNumber
на языке Python. Этот класс должен использоваться для представления рационального числа, то есть числа, которое можно выразить как отношение двух целых чисел (числителя и знаменателя).
Класс RationalNumber
должен обладать следующими характеристиками:
Класс должен иметь два приватных целочисленных атрибута:
numerator
(числитель) иdenominator
(знаменатель) рационального числа.Класс должен определить магические методы
__add__
,__sub__
,__mul__
и__truediv__
для выполнения сложения, вычитания, умножения и деления двух рациональных чисел соответственно.Операции сложения, вычитания, умножения и деления должны выполняться математически корректно для рациональных чисел, а результатом должен быть новый экземпляр класса
RationalNumber
.Класс должен сокращать рациональное число до его простейшей формы, деля числитель и знаменатель на их наибольший общий делитель (НОД).
Класс должен реализовать магический метод
__str__
, который возвращает строку<numerator> / <denominator>
в сокращенном виде.
Ввод | Вывод |
---|---|
| 5 / 6 |
Constraints
Time limit: 2 seconds
Memory limit: 512 MB
Output limit: 1 MB