输入整数a,b,c 求解一元二次方程ax²+bx+c=0
时间: 2024-10-01 18:02:49 浏览: 92
用C#解一元二次方程
解决一元二次方程 \( ax^2 + bx + c = 0 \) 的过程通常涉及求根公式,即:
\[ x = \frac{-b \pm \sqrt{b^2 - 4ac}}{2a} \]
其中 a、b 和 c 是给定的系数,\( \sqrt{} \) 表示平方根。这个公式适用于 \( a \neq 0 \),因为如果 a 等于 0,那么方程就不再是二次方程,而是一次或常数方程了。
如果你想编写程序来计算这个方程的解,你需要考虑如何处理可能的复数根(当判别式 \( b^2 - 4ac \) 小于 0 时),以及当输入的 a、b 或 c 为零的情况。下面是一个简单的 Python 示例:
```python
def solve_quadratic_equation(a, b, c):
discriminant = b ** 2 - 4 * a * c
if a == 0:
raise ValueError("方程不是二次方程")
# 实数根
if discriminant >= 0:
root1 = (-b + discriminant**0.5) / (2 * a)
root2 = (-b - discriminant**0.5) / (2 * a)
return [root1, root2]
# 复数根
real_part = -b / (2 * a)
imaginary_part = discriminant**0.5 / (2 * a)
return [real_part + imaginary_part * 1j, real_part - imaginary_part * 1j]
# 使用示例
try:
roots = solve_quadratic_equation(1, 2, 1)
print(f"实数根: {roots}")
except ValueError as e:
print(e)
```
阅读全文