Ռացիոնալ թվի դաս (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: 2 seconds

Memory limit: 512 MB

Output limit: 1 MB

To check your solution you need to sign in
Sign in to continue