Python-ի միջին մակարդակ

RationalNumber կլաս

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

Memory limit: 512 MB

Output limit: 1 MB

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