private static List <NumPair> Split(uint num) { var pairs = new List <NumPair>(); for (uint i = 2; i <= num - 2; i++) { var a = i; var b = num - a; if (a + b == num && b >= 2) { var pair = new NumPair(i, b); bool isNewPair = !pairs.Any(p => p.Equals(pair)); if (isNewPair) { pairs.Add(pair); } } } return(pairs); }
public bool Equals(NumPair obj) { return((this.A == obj.A && this.B == obj.B) || (this.A == obj.B && this.B == obj.A)); }