一元二次方程求解器
输入 a、b、c 三个系数,得到判别式、两个精确根(有理根或化简根式、必要时给出共轭复根)与近似值,并列出韦达定理与抛物线顶点坐标。
一元二次方程人人会背求根公式,但手算常卡在两处:根号下的数开不干净、判别式小于零之后怎么办。这里把三个系数一填,先告诉你根的形态,再给精确形式(该化简的根式化到最简)和小数近似,韦达定理和顶点坐标附在旁边,验算讲题都用得上。
判别式 Δ = b² − 4ac 决定根的形态:Δ > 0 两个不等实根、Δ = 0 重根、Δ < 0 共轭复根——本工具三种情况都处理;韦达定理(x₁ + x₂ = −b/a,x₁x₂ = c/a)用于验算;顶点 (−b/2a, (4ac−b²)/4a) 画抛物线时用。
这个工具解决你的问题了吗?
提交后会把工具名、你的输入与当前结果发送到服务器;请勿填写身份证号、手机号等隐私信息。
AI 助手 会结合你当前的输入与结果回答
追问会再次把当前输入与结果发送到服务器;请勿填写隐私信息。
使用步骤
- 输入 a、b、c 三个系数(a 不能为 0)。
- 看判别式 Δ 与根的形态(实根 / 重根 / 复根)。
- 看精确根(分数或根式)与近似值对照。
- 看韦达定理与顶点坐标,验算或画图用。
计算原理与示例
判别式决定根的性质
判别式 Δ = b² − 4ac 决定根的情况:Δ > 0 有两个不等实根,Δ = 0 有两个相等实根(重根),Δ < 0 在实数范围内无解、对应一对共轭复根。求根公式是 x = (−b ± √Δ) / 2a,这也是配方法的一般化结果。
精确形式与根式化简
精确形式比小数更有价值。整数系数时工具会把根式化简:x² − 2x − 4 = 0 的 Δ = 20,√20 = 2√5,代入后约去公因子得到 x = 1 ± √5(≈ 3.236068、−1.236068)。根式化简的规则是把根号内的完全平方因数提到根号外(20 = 4 × 5)。系数含小数时无法保持可读的根式形式,工具会退回小数近似(6 位有效数字)。
韦达定理与抛物线顶点
韦达定理给出根与系数的直接关系:x₁ + x₂ = −b/a,x₁ · x₂ = c/a。不用解方程就能判断两根之和、之积与符号,常用于「已知一根求另一根」或参数题。抛物线顶点 (−b/2a, c − b²/4a) 则是函数的最值点:x² − 3x + 2 的顶点在 (1.5, −0.25),开口向上故为最小值。
计算依据:判别式 Δ = b² − 4ac 与求根公式 x = (−b ± √Δ)/2a;整数系数时对 Δ 做根式化简(提取完全平方因数)并约去公因子给出精确解,非整数系数给出 6 位有效数字的近似值;韦达定理 x₁ + x₂ = −b/a、x₁ · x₂ = c/a。
代码示例
JavaScript 判别式三分支
function solve(a, b, c) {
const d = b * b - 4 * a * c; // 判别式
if (d < 0) {
const re = -b / (2 * a), im = Math.sqrt(-d) / (2 * a);
return { type: "complex", roots: [re + "+" + im + "i", re + "-" + im + "i"] };
}
if (d === 0) return { type: "double", roots: [-b / (2 * a)] };
const r = Math.sqrt(d);
return { type: "real", roots: [(-b + r) / (2 * a), (-b - r) / (2 * a)] };
}
solve(1, -3, 2); // { type: "real", roots: [2, 1] }
Python cmath 处理复根
import cmath, math
def solve(a, b, c):
d = b * b - 4 * a * c
if d >= 0:
r = math.sqrt(d)
return ((-b + r) / (2 * a), (-b - r) / (2 * a))
r = cmath.sqrt(d) # 复根
return ((-b + r) / (2 * a), (-b - r) / (2 * a))
solve(1, -3, 2) # (2.0, 1.0)
solve(1, 0, 1) # 复根 ±i
常见问题
判别式小于 0 为什么没有实根?
求根公式里要对 Δ 开平方,而实数范围内负数不能开平方。此时两根是一对共轭复数(形如 a ± bi),本工具会给出这种形式,例如 x² + 2x + 5 = 0 的根是 −1 ± 2i。
√20 为什么要写成 2√5?
把根号内的完全平方因数提出来:20 = 4 × 5,所以 √20 = √4 · √5 = 2√5。化简后便于与其它根式合并,也便于估算(2√5 ≈ 4.472)。
韦达定理是干什么用的?
它给出 x₁ + x₂ = −b/a、x₁ · x₂ = c/a,不解方程就能知道两根的和与积,常用于已知一根求另一根、判断两根同号还是异号,以及构造以两数为根的方程。
系数 a 能等于 0 吗?
不能。a = 0 时方程退化为一次方程 bx + c = 0,只有一个根 −c/b(b 也不为 0);本工具会提示这已不是二次方程。
抛物线顶点坐标有什么意义?
顶点 (−b/2a, c − b²/4a) 是抛物线的最高点或最低点:a > 0 开口向上,顶点即最小值;a < 0 开口向下,顶点即最大值。判断根的范围与最值问题都要用到它。
为什么有的结果只显示小数?
当系数含小数(如 0.5x² + x + 0.5)时,精确根式形式读起来反而累赘,工具就给出小数近似。若想要精确形式,可以把系数同时乘以 10 的倍数化成整数再算。
输入的系数会被记录吗?
不会。系数只在浏览器里做四则运算与开方,不上传、不保存;计算历史仅存本机浏览器,可随时清空,无痕模式关闭即失效。
延伸阅读
来自本站原创文章,讲清这个工具背后的算法与口径。