Complex Number Class (Կոմպլեքս թվերի դաս)

Ձեզ հանձնարարված է ստեղծել ComplexNumber կլաս, որն ունի բարդ թվին բնորոշ վարքագիծ: Կոմպլեքս թիվն այն թիվն է, որը կարող է արտահայտվել a + bi ձևով (այստեղ a-ն և b-ն իրական թվեր են, իսկ i հավասարման լուծումն է)։ Քանի որ ոչ մի իրական թիվ չի բավարարում այս հավասարմանը, i-ն կոչվում է երևակայական թիվ ():

Ձեր ComplexNumber կլասը պետք է ունենա հետևյալ ատրիբուտները.

  • real - Կոմպլեքս թվի իրական մասը (a)

  • imaginary - Կոմպլեքս թվի երևակայական մասը (b)

Դուք պետք է գրեք հետևյալ կախարդական մեթոդները.

  • __add__ - Այս մեթոդը պետք է գումարի երկու բարդ թվեր և վերադարձնի նոր ComplexNumber օբյեկտ, որը ներկայացնում է -ի արդյունքը։

  • __sub__ - Այս մեթոդը մի բարդ թվից պետք է հանի մյուսը և վերադարձնի նոր ComplexNumber օբյեկտ, որը ներկայացնում է -ի արդյունքը։

  • __mul__ - Այս մեթոդը պետք է բազմապատկի երկու բարդ թվեր և վերադարձնի նոր ComplexNumber օբյեկտ, որը ներկայացնում է -ի արդյունքը։

  • __truediv__ - Այս մեթոդը պետք է բաժանի մեկ կոմպլեքս թիվը մյուսի վրա և վերադարձնի նոր ComplexNumber օբյեկտ, որը ներկայացնում է -ի արդյունքը։

Բացի թվային կախարդական մեթոդներից, դուք պետք է ունենաք նաև __str__ կախարդական մեթոդ, որը կոմպլեքս թիվը վերադարձնելու է որպես <real> + <imaginary> i։

Մուտք

Ելք

print(ComplexNumber(1, 1) + ComplexNumber(2, 2)); print(ComplexNumber(2, 3) - ComplexNumber(1, 1)); print(ComplexNumber(2, 3) * ComplexNumber(1, 1)); print(ComplexNumber(2, 2) / ComplexNumber(1, 1)); print(ComplexNumber(1, 1) - ComplexNumber(2, 3))

3 + 3 i
1 + 2 i
-1 + 5 i
2.0 + 0.0 i
-1 + -2 i

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