请用伪代码写一个算法来求取方程ax^2+bx+c=0的实根,a,b,c是任意实系数。
时间: 2024-09-17 16:04:55 浏览: 93
最小二乘法曲线拟合程序源码
3星 · 编辑精心推荐
当然可以。这是一个求解二次方程ax^2 + bx + c = 0的经典算法,通常称为"求根公式"或者"二次公式"。以下是使用伪代码的形式:
```伪代码
function quadratic_solver(a, b, c):
// 计算判别式 D = b^2 - 4ac
double discriminant = b * b - 4 * a * c
if discriminant > 0: // 方程有两个实数根
root1 = (-b + sqrt(discriminant)) / (2 * a)
root2 = (-b - sqrt(discriminant)) / (2 * a)
return [root1, root2]
elif discriminant == 0: // 方程有一个实数根(重根)
double root = -b / (2 * a)
return [root]
else: // 方程无实数根,有复数根
double real_part = -b / (2 * a)
double imaginary_part = sqrt(-discriminant) / (2 * a)
return [real_part, imaginary_part]
```
阅读全文