Поиск корней биквадратного уравнения - C#

Узнай цену своей работы

Формулировка задачи:

срочно очень нужна, ребят, помогите

Решение задачи: «Поиск корней биквадратного уравнения»

textual
Листинг программы
static double[] Roots(int a, int b, int c)
    {
        if (a == 0)
            throw new ArgumentOutOfRangeException();
 
        List<double> roots = new List<double>();
        double discriminant = Math.Pow(b, 2) - 4 * a * c;
 
        if (discriminant == 0)
        {
            double t = -b * 1d / (2 * a);
            if (t == 0)
                roots.Add(0);
            else if (t > 0)
            {
                roots.Add(Math.Sqrt(t));
                roots.Add(-Math.Sqrt(t));
            }
        }
        else if (discriminant > 0)
        {
            double t1 = (-b + Math.Sqrt(discriminant)) / (2 * a),
                   t2 = (-b - Math.Sqrt(discriminant)) / (2 * a);
            if (t1 == 0 || t2 == 0)
                roots.Add(0);
            if (t1 > 0)
            {
                roots.Add(Math.Sqrt(t1));
                roots.Add(-Math.Sqrt(t1));
            }
            if (t2 > 0)
            {
                roots.Add(Math.Sqrt(t2));
                roots.Add(-Math.Sqrt(t2));
            }
        }
        return roots.ToArray();
    }

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


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

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

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