编写程序,求解一元二次方程x**2-10x+16=0.
时间: 2024-09-19 18:16:19 浏览: 24
要编写一个程序解决一元二次方程 \( x^2 - 10x + 16 = 0 \),我们可以使用二次公式,它表示解为:
\[ x = \frac{-b \pm \sqrt{b^2 - 4ac}}{2a} \]
在这个例子中,\( a = 1 \), \( b = -10 \), 和 \( c = 16 \)。我们可以按照这个公式编写Python代码:
```python
import math
def solve_quadratic_equation(a, b, c):
discriminant = b**2 - 4*a*c
if discriminant > 0:
root1 = (-b + math.sqrt(discriminant)) / (2*a)
root2 = (-b - math.sqrt(discriminant)) / (2*a)
return root1, root2
elif discriminant == 0:
return -b / (2*a)
else:
# 实数根不存在,返回复数解
real_part = -b / (2*a)
imaginary_part = math.sqrt(-discriminant) / (2*a)
return complex(real_part, imaginary_part)
# 解方程 x^2 - 10x + 16 = 0
a = 1
b = -10
c = 16
solutions = solve_quadratic_equation(a, b, c)
if isinstance(solutions, tuple):
print("方程有两个实根:", solutions[0], "和", solutions[1])
else:
print("方程有一个实根:", solutions.real, "加一个虚根:", solutions.imag)