public void Day10_result_part1() { var result = _knotHashCalculator .Calculate( new CircularList(256), new[] { 165, 1, 255, 31, 87, 52, 24, 113, 0, 91, 148, 254, 158, 2, 73, 153 }); result .FirstTwoNumbersMultiplied .Should() .Be(4114); }
public void Run() { var numbers = new int[256]; for (var i = 0; i < numbers.Length; i++) { numbers[i] = i; } const string input = "129,154,49,198,200,133,97,254,41,6,2,1,255,0,191,108"; var lengths = input.Split(new[] { ',' }, StringSplitOptions.RemoveEmptyEntries).Select(i => Convert.ToInt32(i)).ToArray(); var knotHash = new KnotHash(new ListReverser()); var result = knotHash.Calculate(numbers, lengths); Console.WriteLine($"Result: {result}"); var hex = knotHash.Calculate(input); Console.WriteLine($"Knot hash: {hex}"); }
public byte[][] CreateGrid(string input) { var grid = new List <byte[]>(); for (var i = 0; i < 128; i++) { var key = $"{input}-{i}"; var knotHash = _knotHash.Calculate(key); var gridRow = ConvertHexStringToBinaryArray(knotHash); grid.Add(gridRow); } return(grid.ToArray()); }