一元二次方程求解器:计算实数解
一元二次方程求解器:计算实数解
本程序用于求解一元二次方程 ax^2 + bx + c = 0 的实数解。您需要输入方程的系数 a、b、c,程序将根据输入计算并输出结果。
输入格式
输入三行数据, 每行输入一个实数,分别代表系数 a、b、c。
代码示例:
a = float(input())
b = float(input())
c = float(input())
if a == 0:
if b == 0:
if c == 0:
print('Data error!')
else:
print('该方程无实数解')
else:
x = -c / b
print('{:.2f}'.format(x))
else:
delta = b * b - 4 * a * c
if delta < 0:
print('该方程无实数解')
elif delta == 0:
x = -b / (2 * a)
print('{:.2f}'.format(x))
else:
x1 = (-b + delta ** 0.5) / (2 * a)
x2 = (-b - delta ** 0.5) / (2 * a)
print('{:.2f} {:.2f}'.format(max(x1, x2), min(x1, x2)))
程序逻辑
- 输入系数 a、b、c。
- 判断系数 a 是否为 0:
- 如果 a 为 0,则方程退化为一次方程 bx + c = 0。
- 如果 b 也为 0,则根据 c 的值判断方程是否有解。
- 如果 b 不为 0,则求解 x = -c / b。
- 如果 a 为 0,则方程退化为一次方程 bx + c = 0。
- 如果 a 不为 0,则根据判别式 delta = b^2 - 4ac 判断方程的解的情况:
- 如果 delta 小于 0,则方程无实数解。
- 如果 delta 等于 0,则方程有两个相同的实数解,输出该解。
- 如果 delta 大于 0,则方程有两个不同的实数解,按从大到小顺序输出两个解。
注意:
- 所有输出结果均保留两位小数。
- 如果出现数据错误(例如 a 和 b 均为 0,且 c 不为 0),程序将输出 'Data error!'。
原文地址: https://www.cveoy.top/t/topic/oGIi 著作权归作者所有。请勿转载和采集!