📚 MyDocs

Trang chủ Giới thiệu

Giao điện web là phải dùng HTML hoặc các công ngữ khác để sinh ra HTML
Để viết nhanh các thẻ trong HTML - Lý do có Markdown
Các cú pháp trong markdown tham khảo qua: Markdown

Giải phương trình bậc hai (C#)

Phương trình dạng: ax^2 + bx + c = 0.

using System;

public static class Quadratic
{
    public static void Solve(double a, double b, double c)
    {
        const double EPS = 1e-12;

        // Nếu a ≈ 0 -> trở thành phương trình bậc nhất: bx + c = 0
        if (Math.Abs(a) < EPS)
        {
            if (Math.Abs(b) < EPS)
            {
                Console.WriteLine(Math.Abs(c) < EPS
                    ? "Vô số nghiệm (0x = 0)."
                    : "Vô nghiệm (0x = -c, c ≠ 0).");
            }
            else
            {
                double x = -c / b;
                Console.WriteLine($"Phương trình bậc nhất: x = {x}");
            }
            return;
        }

        double delta = b * b - 4 * a * c;

        if (delta > EPS)
        {
            double sqrtD = Math.Sqrt(delta);
            double x1 = (-b - sqrtD) / (2 * a);
            double x2 = (-b + sqrtD) / (2 * a);
            Console.WriteLine($"Hai nghiệm thực phân biệt: x1 = {x1}, x2 = {x2}");
        }
        else if (Math.Abs(delta) <= EPS)
        {
            double x = -b / (2 * a);
            Console.WriteLine($"Nghiệm kép: x = {x}");
        }
        else
        {
            // Nghiệm phức
            double real = -b / (2 * a);
            double imag = Math.Sqrt(-delta) / (2 * a);
            Console.WriteLine($"Hai nghiệm phức: x1 = {real} - {imag}i, x2 = {real} + {imag}i");
        }
    }
}
© 2025 - Designed by QuocTrong Huynh