Ejemplo n.º 1
0
        private static void Part1()
        {
            List <int> intCode = GetIntCode();

            var computer = new IntcodeComputer(intCode);

            computer.Memory[1] = 12;
            computer.Memory[2] = 2;
            computer.Compute();

            Console.WriteLine("Part 1:");
            Console.WriteLine($"Position 0: {computer.Memory[0]}");
            Console.WriteLine();
        }
Ejemplo n.º 2
0
        public static void Test1()
        {
            var intcode = new List <int>
            {
                1002,
                4,
                3,
                4,
                33
            };
            var computer = new IntcodeComputer(intcode);

            computer.Compute();
            List <int> result = computer.Memory;
        }
Ejemplo n.º 3
0
        private static void Part1()
        {
            var computer = new IntcodeComputer(GetIntCode(), new List <int> {
                1
            });

            computer.Compute();

            if (computer.Output.Take(computer.Output.Count - 1).Any(x => x != 0))
            {
                throw new Exception("Test Failed");
            }

            Console.WriteLine("Part 1:");
            Console.WriteLine($"Diagnostic Code: {computer.Output.Last()}");
            Console.WriteLine();
        }
Ejemplo n.º 4
0
        public static void Test2()
        {
            var intcode = new List <int>
            {
                3,
                0,
                4,
                0,
                99
            };
            var input = new List <int> {
                1
            };
            var computer = new IntcodeComputer(intcode, input);

            computer.Compute();
            List <int> result = computer.Output;
        }
Ejemplo n.º 5
0
        private static (int noun, int verb) FindInputs()
        {
            List <int> intcode  = GetIntCode();
            var        computer = new IntcodeComputer(intcode);

            foreach (int noun in Enumerable.Range(0, 100))
            {
                foreach (int verb in Enumerable.Range(0, 100))
                {
                    computer.Reset();
                    computer.Memory[1] = noun;
                    computer.Memory[2] = verb;
                    computer.Compute();

                    if (computer.Memory[0] == 19690720)
                    {
                        return(noun, verb);
                    }
                }
            }

            throw new Exception("No matching inputs found");
        }
Ejemplo n.º 6
0
        private static void Test1()
        {
            var intCode = new List <int>
            {
                1,
                9,
                10,
                3,
                2,
                3,
                11,
                0,
                99,
                30,
                40,
                50
            };

            var computer = new IntcodeComputer(intCode);

            computer.Compute();

            List <int> result = computer.Memory;
        }