Solution.PartTwo C# (CSharp) Method

PartTwo() public method

public PartTwo ( string input ) : object
input string
return object
    public object PartTwo(string input) {
        var suffix = new [] { 17, 31, 73, 47, 23 };
        var chars = input.ToCharArray().Select(b => (int)b).Concat(suffix);

        var hash = KnotHash(chars, 64);

        return string.Join("", 
            from blockIdx in Enumerable.Range(0, 16)
            let block = hash.Skip(16 * blockIdx).Take(16)
            select block.Aggregate(0, (acc, ch) => acc ^ ch).ToString("x2"));
    }

Usage Example

示例#1
0
        public void PartTwo()
        {
            const int answer   = 116;
            var       input    = File.ReadAllText(InputFile);
            var       solution = new Solution(input);

            Assert.Equal(answer, solution.PartTwo());
        }
All Usage Examples Of Solution::PartTwo