Exemple #1
0
        public static Result Collatz(Problem arguments)
        {
            long target      = arguments.LongNumber;
            long chainLength = 0;
            long maxLength   = -1;
            long start       = 1;
            long selected    = 0;

            while (start < target)
            {
                chainLength = UtilityMath.CollatzChain(start);
                if (chainLength > maxLength)
                {
                    maxLength = chainLength;
                    selected  = start;
                }
                start++;
            }

            var m = string.Format("The longest chain ({0}) produced by a number under {1} is by {2}", maxLength, target, selected);
            var r = new Result(arguments.Id, m);

            return(r);
        }