Определить метод, позволяющий распознавать наличие вещественных корней в квадратном уравнении - C#
Формулировка задачи:
Даны три квадратных уравнения ax^2+bx+c,bx^2+ax+c,cx^2+ax+b сколько из них имеют вещественные корни. Определить метод, позволяющий распознавать наличие вещественных корней в квадратном уравнении.
Решение задачи: «Определить метод, позволяющий распознавать наличие вещественных корней в квадратном уравнении»
textual
Листинг программы
- public class Program
- {
- const double EPSILON = 0.0001;
- private static void Main()
- {
- double a = 1;
- double b = -4;
- double c = 4;
- int count = GetCount(a, b, c);
- count += GetCount(b, a, c);
- count += GetCount(c, a, b);
- Console.WriteLine(count);
- }
- private static int GetCount(double a, double b, double c)
- {
- double d = b * b - 4 * a * c;
- if (d < 0)
- return 0;
- double x1 = (-b - Math.Sqrt(d)) / a / 2;
- double x2 = (-b + Math.Sqrt(d)) / a / 2;
- int count = IsFloat(x1) ? 1 : 0;
- count += IsFloat(x2) ? 1 : 0;
- return d < EPSILON ? count / 2 : count;
- }
- private static bool IsFloat(double x)
- {
- return Math.Abs(x - Math.Truncate(x)) > EPSILON;
- }
- }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д