Python 이차 방정식 근 찾기
Python의 판별 공식을 사용하여 이차 방정식을 풀고 실수근과 복소수근을 식별합니다.
개요
2차 방정식은 ax² + bx + c = 0 형식입니다. 이를 풀려면 2차 공식인 `x = (-b ± sqrt(b² - 4ac)) / 2a`가 필요합니다.
'b² - 4ac'라는 용어를 판별식이라고 합니다. 양수이면 두 개의 서로 다른 실제 근이 있습니다. 0이면 하나의 실제 루트입니다. 음수인 경우 두 개의 복소수 근입니다.
Python에 내장된 `cmath` 모듈은 복소수를 지원하므로 판별식이 음수인 경우에도 근을 찾을 수 있습니다.
코드 및 실행 출력
실수, 영, 복소 판별을 처리할 수 있는 강력한 솔버입니다.
quadratic.py
에디터에서 사용해 보세요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'(복소수 수학) 모듈은 자동으로 허수근을 처리합니다.