Задача №911 Квадратне рівняння

Скласти програму для розв’язання квадратного рівняння ax2 + bx + c = 0 (a ≠ 0).

Вхідні дані

У єдиному рядку задано через пропуск 3 цілі числа - коефіцієнти квадратного рівняння відповідно a, b та c. Значення коефіцієнтів не перевищують по модулю 100.

Вихідні дані

У єдиному рядку вивести у випадку відсутності коренів повідомлення “No roots” (без лапок), у випадку, якщо розв’язок містить один корінь вивести спочатку повідомлення “One root:” (без лапок), а далі через пропуск сам корінь, у випадку наявності двох коренів вивести спочатку повідомлення “Two roots:” (без лапок), а далі через пропуск спочатку менший, а потім більший корінь. Гарантується, що у випадку наявності розв’язків всі корені цілочисельні.

Розв’язок

import math

text = input().split()
a = int(text[0])
b = int(text[1])
c = int(text[2])

d = b**2 - 4 * a * c
if d < 0:
    print('No roots')
elif d == 0:
    x = -b / (2 * a)
    print('One root:', x)
else:
    x1 = (-b - math.sqrt(d)) / (2 * a)
    x2 = (-b + math.sqrt(d)) / (2 * a)
    if x1 < x2:
        print('Two roots:', x1, x2)
    else:
        print('Two roots:', x2, x1)

Дивіться також: