e-olymp 911. Квадратное уравнение

Задача на e-olymp
Условие:

Составить программу для решения квадратного уравнения [latex]ax^2 + bx + c = 0,[/latex] [latex](a\neq0).[/latex]

Входные данные:

В одной строке задано три целых числа – коэффициенты квадратного уравнения соответственно a,b и c. Значения коэффициентов не превышают по модулю 100.

Выходные данные:

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

Тесты

 Входные данные Выходные данные
 1 -5 6  Two roots: 2 3
 1 10 25  One root: -5
 1 2 3  No roots
 2 6 7  No roots
 1 -2 1  One root: 1
 1 6 9  One root: -3
 3 -7 10  No roots

Код:

Решение:
Для того чтобы его решить надо сначала найти дискриминант: [latex]d=b^2-4ac[/latex], а потом подставить его в следующие формулы для нахождения действительных корней квадратного уравнения: [latex]x_1=\frac{-b+\sqrt d}{2a}[/latex] и [latex]x_2=\frac{-b-\sqrt d}{2a}[/latex]. Однако для квадратного уравнения существует 3 варианта ответов зависящие от дискриминанта. Все 3 варианта расписаны в if-блоках, где сначала проверяется дискриминант и от его значения уже определяется сколько корней у нас будет. После этого выводятся корни, гарантированно целочисленные, или надпись “No roots”, если их нет.

Решение на e-olymp
Решение на ideone

One thought on “e-olymp 911. Квадратное уравнение

  1. Пожалуйста приведите математические формулы в пояснениях к общепринятому виду. Для образца можете посмотреть, например, сюда.
    На всякий случай уточню, что не так:
    — возведение в квадрат выглядит так [latex]b^2[/latex],
    — знак умножения во многих случаях подразумевается, но не пишется, например, [latex]4ac[/latex],
    — уберите лишние скобки в формулах.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *