Ռացիոնալ թվի դաս (Rational Number Class)
Ձեզ հանձնարարված է Python-ում
RationalNumber
class ստեղծել: Այս class-ը պետք է օգտագործվի ռացիոնալ թիվ ներկայացնելու համար, մի թիվ, որը կարող է արտահայտվել որպես երկու ամբողջ թվերի (համարիչ և հայտարար) քանորդ:RationalNumber
class-ը պետք է ունենա հետևյալ ատրիբուտները.- Class-ը պետք է ունենա երկու մասնավոր ամբողջ թիվ որպես ատրիբուտ՝ ռացիոնալ թվի համարիչը (
numerator
) և հայտարարը (denominator
):
- Class-ը պետք է ունենա կախարդական մեթոդներ՝
__add__
,__sub__
,__mul__
և__truediv__
՝ համապատասխանաբար երկու ռացիոնալ թվեր գումարելու, հանելու, բազմապատկելու և բաժանելու համար:
- Գումարման, հանման, բազմապատկման և բաժանման գործողությունները պետք է կատարվեն ռացիոնալ թվերի համար մաթեմատիկորեն ճշգրիտ ձևով, որի արդյունքում կստացվի
RationalNumber
-ի ևս մեկ օբյեկտ:
- Class-ը պետք է ռացիոնալ թիվը հասցնի իր ամենապարզ ձևին՝ համարիչը և հայտարարը բաժանելով իրենց ամենամեծ ընդհանուր բաժանարարի (GCD) վրա։
- Class-ը պետք է ունենա
__str__
կախարդական մեթոդը, որը պետք է վերադարձնի<numerator> / <denominator>
տողը՝ իր ամենապարզ ձևով:
Մուտք | Ելք |
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