Beispiel #1
0
        protected override bool CheckValidQuestion(List <int> coefficients, List <double> solution)
        {
            var a = coefficients[0];
            var b = coefficients[1];
            var c = coefficients[2];

            var discriminant = QuadraticEquationAnalysisFunctions.ComputeDiscriminant(a, b, c);

            if ((a == 0) || ((b == 0) && (c == 0)))
            {
                return(false);
            }
            else if (parameters.RequireRealRoot && (discriminant < 0))
            {
                return(false);
            }
            else if (parameters.RequireComplexRoot && (discriminant >= 0))
            {
                return(false);
            }
            else if (parameters.RequireDoubleRoot && (discriminant != 0))
            {
                return(false);
            }
            else if (parameters.RequireIntegerRoot && !(Math.Abs(solution[0] % 1) < 0.0001 && Math.Abs(solution[1] % 1) < 0.0001))
            {
                return(false);
            }
            else
            {
                return(true);
            }
        }
Beispiel #2
0
        protected override List <double> CalculateSolution(List <int> coefficients, out bool invalidCoefficients)
        {
            invalidCoefficients = false;
            int a = coefficients[0];
            int b = coefficients[1];
            int c = coefficients[2];

            var roots = QuadraticEquationAnalysisFunctions.ComputeRoots(a, b, c);

            return(roots);
        }