protected override bool CheckValidQuestion(List <int> coefficients, PolynomialEquationSolution solution) { if (parameters.RequireAnIntegerRoot && !solution.Roots.Exists(root => root.IsInteger)) { return(false); } else if (parameters.RequireARealRoot && !solution.Roots.Exists(root => root.ImaginaryPart == 0)) { return(false); } else if (parameters.RequireAComplexRoot && !solution.Roots.Exists(root => root.ImaginaryPart != 0)) { return(false); } else if (parameters.RequireOnlyComplexRoots && solution.Roots.Exists(root => root.ImaginaryPart == 0)) { return(false); } else if (parameters.RequireADoubleRoot && !solution.Roots.Exists(root => root.Degree > 1)) { return(false); } else { return(true); } }
public PolynomialEquation(List <int> coefficients, PolynomialEquationSolution solution) { Coefficients = coefficients; Solution = solution; }