public void AnswerA()
        {
            var assemBunny = new AssemBunny();

            assemBunny.ExecuteInstructions(File.ReadAllLines("Day12_input.txt").ToList());
            Assert.AreEqual(318083, assemBunny.Registers['a']);
        }
Exemple #2
0
        public void AnswerB()
        {
            var assemBunny = new AssemBunny();

            assemBunny.Registers['a'] = 12;
            assemBunny.ExecuteInstructions(File.ReadAllLines("Day23_input.txt").ToList());
            Assert.AreEqual(479008320, assemBunny.Registers['a']);
        }
Exemple #3
0
        public Day12() : base(12, 2016, "")
        {
            var firstRun  = new AssemBunny(Input, 0, 0, 0, 0);
            var secondRun = new AssemBunny(Input, 0, 0, 1, 0);

            partOne = firstRun.register['a'].ToString();
            partTwo = secondRun.register['a'].ToString();
        }
Exemple #4
0
        public string GetAnswerA(bool animate = false)
        {
            var computer = new AssemBunny();

            computer.ExecuteInstructions(File.ReadAllLines("Day12_input.txt").ToList());

            return("" + computer.Registers['a']);
        }
Exemple #5
0
        public string GetAnswerB(bool animate = false)
        {
            var assemBunny = new AssemBunny();

            assemBunny.Registers['a'] = 12;
            assemBunny.ExecuteInstructions(File.ReadAllLines("Day23_input.txt").ToList());

            return("" + assemBunny.Registers['a']);
        }
Exemple #6
0
        protected override string SolvePartOne()
        {
            var p = new AssemBunny(Input);

            p.registers['a'] = 7;

            p.RunProgram();

            return(p.registers['a'].ToString());
        }
        public void ExampleA1()
        {
            var assemBunny   = new AssemBunny();
            var instructions = new List <string>
            {
                "cpy 41 a",
                "inc a",
                "inc a",
                "dec a",
                "jnz a 2",
                "dec a"
            };

            assemBunny.ExecuteInstructions(instructions);
            Assert.AreEqual(42, assemBunny.Registers['a']);
        }
Exemple #8
0
        public string GetAnswerA(bool animate = false)
        {
            var assemBunny = new AssemBunny();
            var lines      = File.ReadAllLines("Day25_input.txt").ToList();

            for (var i = 0; i < int.MaxValue; i++)
            {
                assemBunny.Reset();
                assemBunny.Registers['a'] = i;
                assemBunny.ExecuteInstructions(lines);
                if (assemBunny.OutputCounter >= AssemBunny.MaxOutputLength)
                {
                    return(i.ToString());
                }
            }

            return("");
        }
Exemple #9
0
        protected override string SolvePartOne()
        {
            // Brute forcing this takes a long time, so we refactored the ocde into C#
            int    a     = -1;
            string ret   = string.Empty;
            string check = "01010101010101010101010101";
            var    p     = new AssemBunny(Input);

            do
            {
                ret = ParsedCode(++a, check);

                // p.Reset();
                // p.registers['a'] = a;

                // p.RunProgram();

                // Console.WriteLine($"Input: {a}");
                // Console.WriteLine($"Out 1: {ret}");
                // Console.WriteLine($"Out 2: {p.output}");
            } while (ret.Length < check.Length || ret.Substring(0, check.Length) != check);

            return(a.ToString());
        }