예제 #1
0
        public static void Problems()
        {
            var input = FileReader.ReadLinesLong("Inputs\\day10.txt");

            input.Sort();

            int distance3 = 1;
            int distance1 = 0;

            if (input[0] == 1)
            {
                distance1++;
            }
            if (input[0] == 3)
            {
                distance3++;
            }
            for (int i = 1; i < input.Count; i++)
            {
                if (input[i] - input[i - 1] == 3)
                {
                    distance3++;
                }
                if (input[i] - input[i - 1] == 1)
                {
                    distance1++;
                }
            }
            Console.WriteLine(distance1 * distance3);

            Console.WriteLine(options(input, 0, 0));
        }
예제 #2
0
        public static void Problems()
        {
            var input = FileReader.ReadLinesLong("Inputs\\day9.txt");

            for (int i = 25; i < input.Count; i++)
            {
                if (!AddTwo(input, i, input[i]))
                {
                    Console.WriteLine($"Part 1: {input[i]}");
                    var result2 = FindSum(input, input[i]);
                    Console.WriteLine($"Part 2: {result2}");
                    break;
                }
            }
        }
예제 #3
0
        public static void Problems()
        {
            var input = FileReader.ReadLinesLong("Inputs\\day25.txt");

            long number = 1;
            long repeat = 0;

            while (number != input[0])
            {
                number = (number * 7) % 20201227;
                repeat++;
            }
            number = 1;
            for (int i = 1; i <= repeat; i++)
            {
                number = (number * input[1]) % 20201227;
            }
            Console.WriteLine(number);
        }