求一元二次方程a*x2+b*x+c=0的根(分两种情况,有实根则输出实根,无实根则输出“此方程无实根”),系数a, b, c由用户指定。
时间: 2024-10-14 19:04:59 浏览: 24
求解一元二次方程 \( ax^2 + bx + c = 0 \) 的根,我们可以利用韦达定理和判别式 \(\Delta = b^2 - 4ac\) 来处理。以下是算法的大致步骤:
1. 计算判别式 \(\Delta\)。
2. 判断判别式的值:
- 如果 \(\Delta > 0\),说明方程有两个不同的实数根。此时,根据公式 x = [-b ± sqrt(b² - 4ac)] / (2a),计算并输出两个根。
- 如果 \(\Delta = 0\),说明方程有两个相同的实数根。这时,只有一个根,x = -b / (2a),直接输出。
- 如果 \(\Delta < 0\),说明方程无实数根,输出 "此方程无实根"。
具体到编程实现,你可以使用循环、条件判断以及数学库提供的平方根函数来完成这个任务。下面是Python代码示例:
```python
import math
def solve_quadratic(a, b, c):
discriminant = b**2 - 4*a*c
if discriminant > 0:
root1 = (-b - math.sqrt(discriminant)) / (2*a)
return f"方程的根为 {root1} 和 {root2}"
elif discriminant == 0:
root = -b / (2*a)
return f"方程的唯一实根为 {root}"
else:
return "此方程无实根"
# 用户输入系数
a = float(input("请输入a的值:"))
b = float(input("请输入b的值:"))
c = float(input("请输入c的值:"))
solution = solve_quadratic(a, b, c)
print(solution)
```
阅读全文