A4139 | 【条件】【提高】求一元二次方程的根
时间限制1s
内存限制128MB
通过 / 提交0/0
题目描述
利用公式 $x_{1} = (-b + \sqrt{(b*b-4*a*c)}$ $)/(2*a), x_{1} = (-b - \sqrt{(b*b-4*a*c)}$ $)/(2*a)$ 求一元二次方程 $ax^{2}+ bx + c =0$ 的根,其中 $a$ 不等于 $0$。
输入格式
输入一行,包含三个浮点数 $a, b, c$(它们之间以一个空格分开),分别表示方程 $ax^{2} + bx + c =0$ 的系数。
输出格式
输出一行,表示方程的解。
若 $b^{2} = 4 * a * c$,则两个实根相等,则输出形式为:$x_{1}=x_{2}=...$。
若 $b^{2} > 4 * a * c$,则两个实根不等,则输出形式为:$x_{1}=...;x_{2} = ...$,其中 $x_{1}>x_{2}$。
若 $b^{2} < 4 * a * c$,则有两个虚根,则输出:$x_{1}=$实部+虚部 $i$; $x_{2}=$实部-虚部 $i$,即 $x_{1}$ 的虚部系数大于等于 $x_{2}$ 的虚部系数,实部为 $0$ 时不可省略。实部 $= -b / (2\times a)$, 虚部 $= \sqrt{(4*a*c-b*b)} / (2*a)$
所有实数部分要求精确到小数点后 $5$ 位。
若 $b^{2} = 4 * a * c$,则两个实根相等,则输出形式为:$x_{1}=x_{2}=...$。
若 $b^{2} > 4 * a * c$,则两个实根不等,则输出形式为:$x_{1}=...;x_{2} = ...$,其中 $x_{1}>x_{2}$。
若 $b^{2} < 4 * a * c$,则有两个虚根,则输出:$x_{1}=$实部+虚部 $i$; $x_{2}=$实部-虚部 $i$,即 $x_{1}$ 的虚部系数大于等于 $x_{2}$ 的虚部系数,实部为 $0$ 时不可省略。实部 $= -b / (2\times a)$, 虚部 $= \sqrt{(4*a*c-b*b)} / (2*a)$
所有实数部分要求精确到小数点后 $5$ 位。
输入输出样例
输入 #1
1 0 1
输出 #1
x1=0.00000+1.00000i;x2=0.00000-1.00000i
样例输入1
1.0 2.0 8.0
样例输入2
样例输出1
$x_{1}$=-1.00000+2.64575i;$x_{2}$=-1.00000-2.64575i
样例输出2
$x_{1}$=0.00000+1.00000i;$x_{2}$=0.00000-1.00000i
1.0 2.0 8.0
样例输入2
样例输出1
$x_{1}$=-1.00000+2.64575i;$x_{2}$=-1.00000-2.64575i
样例输出2
$x_{1}$=0.00000+1.00000i;$x_{2}$=0.00000-1.00000i
C++ 编辑器
输入
输出
可保存默认模板;新题优先使用已保存模板。
当前快捷键仅展示,暂不支持修改。
- 撤销
Ctrl / ⌘ + Z - 重做
Ctrl / ⌘ + Y - 查找
Ctrl / ⌘ + F - 全选
Ctrl / ⌘ + A - 复制
Ctrl / ⌘ + C - 剪切
Ctrl / ⌘ + X - 粘贴
Ctrl / ⌘ + V - 自动排版
工具栏排版按钮 - 草稿保存
编辑时自动保存到本机
历史
提交记录
状态说明时间源码
AI
作答助手
你好,我是作答助手。可以问思路、复杂度、样例含义或代码报错原因;不会直接给出完整 AC 代码。
确定要清空代码吗?