Скласти програму для розв’язання квадратного рівняння ax2 + bx + c = 0
(a ≠ 0
).
Вхідні дані
У єдиному рядку задано через пропуск 3 цілі числа - коефіцієнти квадратного рівняння відповідно a, b та c. Значення коефіцієнтів не перевищують по модулю 100.
Вихідні дані
У єдиному рядку вивести у випадку відсутності коренів повідомлення “No roots” (без лапок), у випадку, якщо розв’язок містить один корінь вивести спочатку повідомлення “One root:” (без лапок), а далі через пропуск сам корінь, у випадку наявності двох коренів вивести спочатку повідомлення “Two roots:” (без лапок), а далі через пропуск спочатку менший, а потім більший корінь. Гарантується, що у випадку наявності розв’язків всі корені цілочисельні.
Розв’язок
using System;
public static void Main()
{
var text = Console.ReadLine().Split();
var a = Convert.ToInt32(text[0]);
var b = Convert.ToInt32(text[1]);
var c = Convert.ToInt32(text[2]);
var D = Math.Pow(b, 2)- 4 * a * c;
if(D < 0)
{
Console.WriteLine("No roots");
}
else if(D == 0)
{
var x = -b / (2 * a);
Console.WriteLine("One root: {0}", x);
}
else
{
var x1 = (-b - Math.Sqrt(D)) / (2 * a);
var x2 = (-b + Math.Sqrt(D)) / (2 * a);
Console.Write("Two roots: ");
if(x1 < x2)
{
Console.WriteLine("{0} {1}", x1, x2);
}
else
{
Console.WriteLine("{0} {1}", x2, x1);
}
}
}