Beispiel #1
0
        public void TestToHexString()
        {
            List <int> denseHash = new List <int>()
            {
                64, 7, 255
            };
            var sut    = new KnotHash();
            var result = sut.ToHexString(denseHash);

            Assert.Equal("4007ff", result);
        }
Beispiel #2
0
        public void TestToHexString_Real()
        {
            List <int> denseHash = new List <int>()
            {
                12, 47, 121, 75, 46, 181, 85, 247, 131, 7, 102, 191, 143, 182, 90, 22
            };
            var sut    = new KnotHash();
            var result = sut.ToHexString(denseHash);

            Assert.Equal(32, result.Length);
            Assert.Equal("0c2f794b2eb555f7830766bf8fb65a16", result);
        }
Beispiel #3
0
        public override string Solve(string input, int part)
        {
            KnotHash knotHash = new KnotHash(256);

            switch (part)
            {
            case 1:
                knotHash.InitializeWeak(input);
                return("" + knotHash.hash[0] * knotHash.hash[1]);

            case 2:
                knotHash.InitializeStrong(input);
                return(knotHash.ToHexString());
            }

            return(String.Format("Day 10 part {0} solver not found.", part));
        }