Example #1
0
        /// <summary>
        /// https://projecteuler.net/problem=71
        /// </summary>
        /// <param name="arguments"></param>
        /// <returns></returns>
        public static Result OrderedFractions(Problem arguments)
        {
            var integers = arguments.ListOfNumbers;
            var key      = new UtilityMath.Fraction(integers[0], integers[1]);
            var d        = arguments.IntNumber;

            var    sort_list = UtilityMath.GetReducedProperFractions(d, key, true).ToList();
            string answer    = sort_list[0].Numerator.ToString();

            var message = string.Format("The numerator of the fraction immediately to the left of {0} is {1}.", key.ToString(), answer);

            if (Answers[arguments.Id] != answer)
            {
                message += string.Format(" => INCORRECT ({0})", Answers[arguments.Id]);
            }
            var r = new Result(arguments.Id, message)
            {
                Answer = answer
            };

            return(r);
        }