Python 복소수 계산

Jaeyong Park·2021년 12월 4일
0

문제
두 개의 input에는 복소수(complex number)가 string 으로 주어집니다. 복소수란 a+bi 의 형태로, 실수와 허수로 이루어진 수입니다.
input으로 받은 두 수를 곱해서 반환해주세요. 반환하는 표현도 복소수 형태의 string 이어야 합니다.
복소수 정의에 의하면 (i^2)는 -1 이므로 (i^2) 일때는 -1로 계산해주세요.
제곱 표현이 안 되어 i의 2제곱을 (i^2)라고 표현했습니다.

  • input 은 항상 a+bi

접근.
복소수의 계산.

실수, 허수를 나누어 계산

[실수]
실수 x 실수 = 실수
허수 x 허수 = (i^2) x (허수 x 허수) = (허수의 실수x허수의 실수) x(-1)

[허수]
허수 x 실수 1 ==> (실수) x (허수의 int) x (i)
허수 x 실수 2 ==> (실수) x (허수의 int) x (i)

def complex_number_multiply(a, b):
    a_real, a_imagine = a.split('+')
    a_real = int(a_real)
    a_imagine = int(a_imagine[:-1])
    b_real, b_imagine = b.split('+')
    b_real = int(b_real)
    b_imagine = int(b_imagine[:-1])

    result_real = (a_real) * (b_real) - (a_imagine) * (b_imagine)
    result_imagine = (a_real) * (b_imagine) + (a_imagine) * (b_real)
    return str(result_real) + '+' + str(result_imagine) + 'i'

단순하게 +에서 나누어서 실수부 허수부로 나눔.
계산대로 실수끼리, 허수끼리 해서 str으로 반환 시 마지막에 i 추가

profile
01 Hello World. Login

0개의 댓글