4.编程实现 求一元二次方程 ax2+bx+c=0的实根和虚根并输出结果。要求: 分别求出Δ>=0及Δ<0两种情况求解
时间: 2024-10-19 17:13:49 浏览: 59
在编程中,我们可以使用Python语言来求解一元二次方程ax^2 + bx + c = 0的实数根。根据判别式Δ = b^2 - 4ac,我们有以下两种情况:
1. 当Δ >= 0 (即b^2 - 4ac ≥ 0):
a. 首先计算两个实根 x1 和 x2,它们通过公式 x = [-b ± sqrt(b^2 - 4ac)] / (2a) 来确定。
b. 然后将这两个根打印出来。
2. 当Δ < 0 (即b^2 - 4ac < 0),说明方程没有实根,只有一个复数解对。在这种情况下,可以利用复数库如`cmath`来处理。复数解的形式为 x = (-b ± i * sqrt(4ac - b^2)) / (2a),其中i是虚数单位。
下面是Python代码的一个简单示例,展示了如何实现这两种情况下的解:
```python
import cmath
def solve_quadratic(a, b, c):
# 计算判别式
delta = b**2 - 4*a*c
if delta >= 0:
# 实数解
root1 = (-b + cmath.sqrt(delta)) / (2*a)
root2 = (-b - cmath.sqrt(delta)) / (2*a)
print("实根:x1 =", root1.real, "x2 =", root2.real)
else:
# 虚数解
root1 = (- cmath.sqrt(-delta)) / (2*a)
print("方程无实根,有两个共轭虚根:x1 =", root1, "x2 =", root2)
# 示例输入
a = 1
b = -3
c = 2
solve_quadratic(a, b, c)
```
阅读全文