当前位置: 面试刷题>> 方程的根 (经典算法题500道)


### 题目补充: 题目:给定一个一元二次方程 $ax^2 + bx + c = 0$,其中 $a \neq 0$,请使用你选择的编程语言(PHP, Python, JavaScript)来编写一个函数,该函数接受 $a$、$b$ 和 $c$ 作为参数,并返回该方程的根。如果方程有两个实根,则返回这两个根组成的数组;如果方程有一个重根,则返回包含该重根的单元素数组;如果方程没有实根(即判别式 $\Delta = b^2 - 4ac < 0$),则返回 `null` 或相应的错误消息。 ### PHP 示例代码: ```php ``` ### Python 示例代码: ```python def find_roots(a, b, c): delta = b**2 - 4*a*c if delta < 0: return None # 没有实根 elif delta == 0: root = -b / (2 * a) return [root] # 重根 else: root1 = (-b + delta**0.5) / (2 * a) root2 = (-b - delta**0.5) / (2 * a) return [root1, root2] # 两个不同的实根 # 测试用例 a = 1 b = -3 c = 2 roots = find_roots(a, b, c) if roots is not None: print("方程的根是:", roots) else: print("方程没有实根。") # 更多相关内容,请访问码小课网站。 ``` ### JavaScript 示例代码: ```javascript function findRoots(a, b, c) { let delta = b * b - 4 * a * c; if (delta < 0) { return null; // 没有实根 } else if (delta === 0) { let root = -b / (2 * a); return [root]; // 重根 } else { let root1 = (-b + Math.sqrt(delta)) / (2 * a); let root2 = (-b - Math.sqrt(delta)) / (2 * a); return [root1, root2]; // 两个不同的实根 } } // 测试用例 let a = 1; let b = -3; let c = 2; let roots = findRoots(a, b, c); if (roots !== null) { console.log("方程的根是:", roots); } else { console.log("方程没有实根。"); } // 更多相关内容,请访问码小课网站。 ``` 这些示例展示了如何使用不同的编程语言来求解一元二次方程的根,并包括了对不同情况的处理。
推荐面试题