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