Дискриминант решает всё
Для уравнения ax² + bx + c = 0 дискриминант считается как D = b² − 4ac. Его знак определяет число действительных корней: D больше нуля — два корня, D равен нулю — один, D меньше нуля — действительных корней нет.
Сами корни находятся по формуле x = (−b ± √D) / (2a). При D = 0 обе ветви дают одно и то же значение, поэтому говорят о корне кратности два.
Когда корней нет
Отрицательный дискриминант означает, что парабола не пересекает ось X. Действительных решений нет, но есть пара комплексно-сопряжённых корней вида x = −b/(2a) ± i·√(−D)/(2a) — калькулятор показывает и их.
Это не ошибка ввода: такие уравнения регулярно встречаются, например при поиске точек пересечения непересекающихся кривых.
Вершина параболы
Координата вершины по X равна −b / (2a), значение по Y получается подстановкой этого X в уравнение. Вершина — точка минимума при a больше нуля и максимума при a меньше нуля.
Вершина всегда лежит ровно посередине между корнями, если они существуют. Это удобный способ проверить ответ: полусумма корней должна совпасть с координатой вершины.
Методика и источники
Проверка реализации: . Как проверяются вычисления.
Формула и допущения приведены выше; контрольные примеры включены в автоматические проверки проекта.