public object GetResult2() { long highest = 0; for (int n = 0; n < wholeValues.Count; n++) { var wv1 = wholeValues[n]; for (int i = 0; i < wholeValues.Count; i++) { if (n == i) { continue; } var wv2 = wholeValues[i]; var mag = WholeValue.Add(wv1, wv2).Magnitude; if (mag > highest) { highest = mag; } } } return(highest); }
public void Testp2Case() { var fline = "[[2,[[7,7],7]],[[5,8],[[9,3],[0,2]]]]"; var sline = "[[[0,[5,8]],[[1,7],[9,6]]],[[4,[1,2]],[[1,4],2]]]"; var first = Parser.ParseLine(fline); var second = Parser.ParseLine(sline); var sum = WholeValue.Add(first, second); Assert.AreEqual("[[[[7,8],[6,6]],[[6,0],[7,7]]],[[[7,8],[8,8]],[[7,9],[0,6]]]]", sum.pair.ToString()); Assert.AreEqual(3993, sum.Magnitude); }
public WholeValue AggregateAdd() => wholeValues.Aggregate((a, b) => WholeValue.Add(a, b));