We use cookies to ensure you have the best browsing experience on our website. Please read our cookie policy for more information about how we use cookies.
if name == 'main':
c = map(float, input().split())
d = map(float, input().split())
x = Complex(*c)
y = Complex(*d)
print(*map(str, [x+y, x-y, x*y, x/y, x.mod(), y.mod()]), sep='\n')
Cookie support is required to access HackerRank
Seems like cookies are disabled on this browser, please enable them to open this website
Classes: Dealing with Complex Numbers
You are viewing a single comment's thread. Return to all comments →
import math
class Complex(object): def init(self, real, imaginary): self.real = real self.imaginary = imaginary
def add(self, no): return Complex(self.real + no.real, self.imaginary + no.imaginary) def sub(self, no): return Complex(self.real - no.real, self.imaginary - no.imaginary)
def mul(self, no): realpart = self.real*no.real - self.imaginary*no.imaginary imaginarypart = self.real*no.imaginary + no.real*self.imaginary return Complex(realpart, imaginarypart) def truediv(self, no): denom = no.real**2 + no.imaginary**2 realpart = (self.real*no.real + self.imaginary*no.imaginary)/denom imaginarypart = (no.real*self.imaginary-self.real*no.imaginary)/denom return Complex(realpart, imaginarypart) def mod(self): return Complex(math.sqrt(self.real**2 + self.imaginary**2), 0) def str(self): if self.imaginary == 0: result = "%.2f+0.00i" % (self.real) elif self.real == 0: if self.imaginary >= 0: result = "0.00+%.2fi" % (self.imaginary) else: result = "0.00-%.2fi" % (abs(self.imaginary)) elif self.imaginary > 0: result = "%.2f+%.2fi" % (self.real, self.imaginary) else: result = "%.2f-%.2fi" % (self.real, abs(self.imaginary)) return result
if name == 'main': c = map(float, input().split()) d = map(float, input().split()) x = Complex(*c) y = Complex(*d) print(*map(str, [x+y, x-y, x*y, x/y, x.mod(), y.mod()]), sep='\n')