Python 이차 방정식 근 찾기

Python의 판별 공식을 사용하여 이차 방정식을 풀고 실수근과 복소수근을 식별합니다.

에디터에서 사용해 보세요

개요

2차 방정식은 ax² + bx + c = 0 형식입니다. 이를 풀려면 2차 공식인 `x = (-b ± sqrt(b² - 4ac)) / 2a`가 필요합니다.

'b² - 4ac'라는 용어를 판별식이라고 합니다. 양수이면 두 개의 서로 다른 실제 근이 있습니다. 0이면 하나의 실제 루트입니다. 음수인 경우 두 개의 복소수 근입니다.

Python에 내장된 `cmath` 모듈은 복소수를 지원하므로 판별식이 음수인 경우에도 근을 찾을 수 있습니다.

코드 및 실행 출력

실수, 영, 복소 판별을 처리할 수 있는 강력한 솔버입니다.

import cmath

def find_roots(a, b, c):
    d = (b**2) - (4*a*c) # discriminant
    
    # Calculate both roots
    sol1 = (-b - cmath.sqrt(d)) / (2*a)
    sol2 = (-b + cmath.sqrt(d)) / (2*a)
    
    return sol1, sol2

# Test equation: x^2 - 5x + 6 = 0
r1, r2 = find_roots(1, -5, 6)
print("Roots of x^2 - 5x + 6 = 0:")
print(f"Root 1: {r1.real:.1f}")
print(f"Root 2: {r2.real:.1f}")
터미널 출력
Roots of x^2 - 5x + 6 = 0:
Root 1: 2.0
Root 2: 3.0

단계별 구현

  • 물리 모델 및 궤도 추적 시스템
  • 기하학적 충돌 감지 벡터
  • 수학적 해결사

자주 묻는 질문

왜 'math' 대신에 'cmath'를 사용하나요?

표준 `math` 모듈은 음수의 제곱근을 구하려고 하면 ValueError를 발생시킵니다. 'cmath'(복소수 수학) 모듈은 자동으로 허수근을 처리합니다.

관련 주제