Top.Mail.Ru
Ответы
Аватар пользователя
Аватар пользователя
Аватар пользователя
Аватар пользователя
Программирование
+4

Помогите решить задачу на Python "Корни уравнения"

Напишите функцию solve(a, b, c), которая принимает в качестве аргументов три целых числа a, b, c – коэффициенты квадратного уравнения ax^2+bx+c = 0 и возвращает его корни в порядке возрастания.

Примечание/ Гарантируется, что квадратное уравнение имеет корни.

Примечание. Следующий программный код:

print(solve(1, -4, -5))
print(solve(-2, 7, -5))
print(solve(1, 2, 1))
должен выводить:

-1.0 5.0
1.0 2.5
-1.0 -1.0

Необходимо решение вписать в структуру:
# объявление функции
def solve(a, b, c):

# считываем данные
a, b, c = int(input()), int(input()), int(input())

# вызываем функцию
x1, x2 = solve(a, b, c)
print(x1, x2)

По дате
По рейтингу
Аватар пользователя
Новичок

def solve(a, b, c):
----d = b * b - 4 * a * c
----if d == 0: x = - b / (2 * a); return [x, x]
----else:
--------d, a = d ** 0.5, 2 * a
--------x, y = - (b + d) / a, (d - b) / a
--------if x > y: a = x; x = y; y = a; return [x, y]

Аватар пользователя
Высший разум

def solve(a, b, c):
~~d, t = (b * b - 4 * a * c) ** 0.5, -2 * a
~~return sorted([(b - d) / t, (b + d) / t])