题目

从标准输入读入一元二次方程的三个系数 a、b、c,按判别式 Δ 讨论实根情况并格式化输出(浮点数保留两位小数)。

输入格式:一行输入三个浮点数 a、b、c,以空格分隔。

输出格式:根据根的情况输出对应结论。有两个不等实根时保留两位小数输出 x1 和 x2;有重根时输出 x;无实根时输出 无实根。

数据范围与约定:系数 a, b, c 均为浮点数。

思路与算法

1. 一元二次方程判别式
对于方程 ax² + bx + c = 0(a ≠ 0):
判别式 Δ = b² - 4ac。
① Δ > 0:有两个不等实根,公式为 (-b ± √Δ) / (2a);
② Δ = 0:有两个相等实根(重根),x = -b / (2a);
③ Δ < 0:在实数范围内无实数根。

2. 开方运算与精度格式化
调用标准库 math.sqrt() 计算平方根。使用 f-string 格式说明符 {x:.2f} 精确保留两位小数。

完整程序

a, b, c = map(int, input().split())

# 构成三角形的充分必要条件:任意两边之和大于第三边
if a + b > c and a + c > b and b + c > a:
    print('yes')
else:
    print('no')

运行示例

输入:

1 -3 2

输出:

两个不等实根: x1=2.00, x2=1.00