public static int SumDoubleBasePalindromesUnderOneMillion() { var sum = 0; for (int i = 0; i < 1_000_000; i++) { if (Palindrome.IsPalindrome(i) && new BinaryNumber(i).IsPalindrome()) { sum += i; } } return(sum); }
public static int LargestXDigitPalindrome(int numberDigits) { var minNum = 1; while (--numberDigits > 0) { minNum *= 10; } var maxNum = minNum * 10; var largestPalindrome = 0; for (int i = maxNum - 1; i >= minNum; i--) { if (i * (i - 1) <= largestPalindrome) { break; } for (int j = i - 1; j >= minNum; j--) { var mult = i * j; if (mult <= largestPalindrome) { break; } if (mult > largestPalindrome && Palindrome.IsPalindrome(mult)) { largestPalindrome = mult; } } } return(largestPalindrome); }