酷代码 AI
菜单

读入 的值, 解一元二次方程 ,也就是求出 的值。 提示:可以用一元二次方程的根的判别式 来求方程的解; 令 如果 , 存在两个不同的解,分别为: , ; 如果 , 存在一个解: ; 如果 , 无解。 输入 读入三个浮点数分别为 . 输出 如果存在两个解,按照下面的格式输出: x1=? x2=? 如果存在一个解,按照下面的格式输出: x1=? 如果不存在解,输出: "No answer" 结果保留两位小数. 样例输入 复制 1 -4 3 样例输出 复制 x1=1.00 x2=3.00

```python # 读取输入的 a, b, c a, b, c = map(float, input().split()) # 计算判别式 delta delta = b 2 - 4 * a * c if delta > 0: # 有两个不同的解 x1 = (-b + delta 0.5) / (2 * a) x2 = (-b - delta 0.5) / (2 * a) print(f"x1={x1:.2f} x2={x2:.2f}") elif delta == 0: # 有一个解 x1 = -b / (2 * a) print(f"x1={x1:.2f}") else: # 无解 print("No answer") ``` 代码解释: 1. 输入读取:使用 `map(float, input().split())` 读取一行输入,并将其分割成三个浮点数,分别赋值给 `a`, `b`, `c`。 2. 判别式计算:根据公式 `delta = b 2 - 4 * a * c` 计算判别式的值。 3. 根据判别式的值进行判断: - 如果 `delta > 0`,说明方程有两个不同的解,使用求根公式计算 `x1` 和 `x2`,并按照指定格式输出,结果保留两位小数。 - 如果 `delta == 0`,说明方程有一个解,使用求根公式计算 `x1`,并按照指定格式输出,结果保留两位小数。 - 如果 `delta < 0`,说明方程无解,输出 `"No answer"`。 复杂度分析: - 时间复杂度:$O(1)$,因为只进行了常数级的计算。 - 空间复杂度:$O(1)$,只使用了常数级的额外空间。 [2025-12-10 12:22:28 | AI问答 | 437点数解答]

服务商
相关提问
发财导航,免费问AI
实用工具查看更多