Опубликован: 20.12.2024 12
Условие: напишите программу, которая решает квадратные уравнения вида:
a * x**2 + b * x + c = 0
Вещественные коэффициенты a
, b
, c
квадратного уравнения вводятся пользователем с клавиатуры.
Решение:
Алгоритм решения квадратного уравнения (методом дискриминанта):
D = b ** 2 - 4 * a * c
.Если дискриминант D > 0
, то квадратное уравнение имеет два корня:
x1 = (-b + ⎷D ) / (2 * a)
x2 = (-b - ⎷ D ) / (2 * a)
Если дискриминант D = 0
, то корень один:
x = -b / (2 * a)
Если дискриминант D < 0
, то корней нет.
import math
# функция вычисления корней квадратного уравнения
def get_roots_quadratic_equation(a, b, c):
d = b ** 2 - 4 * a * c
print(f"Дискриминант D = {d:.2f}")
if d > 0:
x1 = (-b + math.sqrt(d)) / (2 * a)
x2 = (-b - math.sqrt(d)) / (2 * a)
print(f"x1 = {x1:.2f} \nx2 = {x2:.2f}")
elif d == 0:
x = -b / (2 * a)
print(f"x = {x:.2f}")
else:
print("Корней нет")
print("Программа вычисления корней квадратного уравнения")
print()
print("Введите коэффициенты a, b, c для уравнения")
print("ax^2 + bx + c = 0:")
a = float(input("a = "))
b = float(input("b = "))
c = float(input("c = "))
get_roots_quadratic_equation(a, b, c)
Задача: Тренажер таблицы умножения
Задача: Наибольший числовой палиндром
Задача: Разложение числа на простые множители
Задача: Наибольший общий делитель
Комментариев нет.