Определить метод, позволяющий распознавать наличие вещественных корней в квадратном уравнении - 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;
    }
}

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

10   голосов , оценка 3.8 из 5
Похожие ответы