예제 #1
0
        public void Star1ComputeSteps()
        {
            var input  = 1024;
            var matrix = day3.CreateSpiralMatrix(input);

            day3.ComputeSteps(matrix, 1).Should().Be(0);
            day3.ComputeSteps(matrix, 12).Should().Be(3);
            day3.ComputeSteps(matrix, 23).Should().Be(2);
            day3.ComputeSteps(matrix, 1024).Should().Be(31);
        }
예제 #2
0
        private static void RunDay03()
        {
            var input = 289326;


            var day3   = new Day03();
            var matrix = day3.CreateSpiralMatrix(input);
            var steps  = day3.ComputeSteps(matrix, input);

            Console.WriteLine($"Value {input} takes {steps} steps.");


            matrix = day3.CreateZeroMatrix(input);

            int size = (int)Math.Round(Math.Sqrt(input)) + 1;

            var computedValue = day3.FillWithAdjacentValuesAndCompute(matrix, size, input);

            Console.WriteLine($"First value written larger then {input} is {computedValue}");
        }