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