30/09/2018, 22:40

Tại sao output của dòng code này lại là NaN

Như tiêu đề , cho em hỏi dòng code C# này lại ra NaN được ?

static void Main(string[] args)
        {
            do
            {
                Console.WriteLine("Phuong trinh co dang ax^3 + bx^2 + cx + d");
                Console.Write("a=");
                int a = Convert.ToInt32(Console.ReadLine());
                Console.Write("b=");
                int b = Convert.ToInt32(Console.ReadLine());
                Console.Write("c=");
                int c = Convert.ToInt32(Console.ReadLine());
                Console.Write("d=");
                int d = Convert.ToInt32(Console.ReadLine());

                double delta = ((b * b) - (3 * a * c));
                double k = ((9 * a * b * c) - (2 * b * b * b) - (27 * a * a * d)) / (2 * Math.Sqrt(Math.Pow(Math.Abs(delta), 3)));
                double arccosk = (-1) / (Math.Sqrt(1 - Math.Pow(k, 2)));
}
                if (delta < 0)
                {
                    double x16 = (((Math.Sqrt(Math.Abs(delta))) / (3 * a))) * ((Math.Pow(k + Math.Sqrt(Math.Pow(k, 2) + 1), 1.0 / 3.0) + (Math.Pow(k - Math.Sqrt(Math.Pow(k, 2) + 1), 1.0 / 3.0)))) - (b / 3 * a);
                    Console.Write("Phuong trinh co 1 nghiem duy nhat la x=");
                    Console.WriteLine(x16);
                    //output là NaN , không hiểu tại sao, có pro nào không giúp em với
                }
            } while (true);                                         
Bài liên quan
0