public override long Solution() { long sum = 0; for (int number = 1; number < 1000000; number++) { if (Problem004.IsPalindrome(number)) { IList <byte> binary = ToBinary(number); if (IsPalindrome(binary)) { sum += number; } } } return(sum); }
private static bool IsLychrelNumber(long number, int iteration = 0) { bool isLychrelNumber = false; if (iteration <= 50) { if (iteration == 0 || !Problem004.IsPalindrome(number)) { long reverse = Reverse(number); isLychrelNumber = IsLychrelNumber(number + reverse, iteration + 1); } } else { isLychrelNumber = true; } return(isLychrelNumber); }