编写程序,利用定义函数的方法求解一元二次方程 ax 2 +bx+c=0 的根(不考虑无根情况)
时间: 2024-11-27 10:22:36 浏览: 18
编写一个求解一元二次方程的函数通常涉及使用公式法,也就是著名的韦达定理,用于计算二次方程的两个实数解。以下是使用Python语言的一个简单示例:
```python
import cmath # 引入复数支持
def solve_quadratic_equation(a, b, c):
"""
解决一元二次方程 ax^2 + bx + c = 0 的根,其中 a, b 和 c 是给定的系数。
参数:
a (float): 二次项系数
b (float): 一次项系数
c (float): 常数项系数
返回值:
roots (list): 方程的两个根,可能包含复数
"""
delta = b**2 - 4*a*c # 计算判别式
if delta > 0:
root1 = (-b + cmath.sqrt(delta)) / (2 * a)
root2 = (-b - cmath.sqrt(delta)) / (2 * a)
roots = [root1, root2]
elif delta == 0:
root = -b / (2 * a)
roots = [root] # 只有一个实数根
else: # 非实数解,即复数根
real_part = -b / (2 * a)
imaginary_part = cmath.sqrt(-delta) / (2 * a)
roots = [real_part + imaginary_part * 1j, real_part - imaginary_part * 1j]
return roots
# 示例:求解 x^2 + 5x + 6 = 0 的根
coefficients = [1, 5, 6]
solution = solve_quadratic_equation(*coefficients)
print(f"一元二次方程 {coefficients[0]}x^2 + {coefficients[1]}x + {coefficients[2]} 的根为:", solution)
阅读全文