Example #1
0
        static void Main(string[] args)
        {
            var letters       = new[] { 'b', 'e', 'd', 'd', 'a', 'r', 's', 'a', 'p' };
            var lettersSolver = new LettersSolver(new WordFinder(new WordListSowpods()));

            lettersSolver.Solve(letters);


            //var numbers = new[] { 1, 7, 9, 10, 25, 100 };
            //var target = 190;
            //var numbers = new[] { 2, 3, 4, 5, 6, 2 };
            //var target = 666;
            var numbers = new[] { 25, 1, 3, 2, 1, 4 };
            var target  = 549;

            var numbersSolver = new NumbersSolver();

            numbersSolver.Solve(target, numbers);

            Console.WriteLine($"The numbers were {string.Join(" ", numbers)}");
            Console.WriteLine($"The target was {target}");
            Console.WriteLine();

            if (numbersSolver.DistanceFromTarget == 0)
            {
                Console.WriteLine($"Found {numbersSolver.Solutions.Count} solutions:");
            }
            else
            {
                Console.WriteLine($"There is no solution. The best possible is {numbersSolver.DistanceFromTarget} away, of which the following {numbersSolver.Solutions.Count} were found:");
            }
            Console.WriteLine();

            foreach (var solution in Formatter.Format(numbersSolver.Solutions))
            {
                Console.WriteLine(solution);
            }

            Console.ReadKey();
        }
 public SolverTests()
 {
     _numbersPuzzle = new NumbersSolver();
 }