def solve(N): result = 0 #@UnusedVariable palindromes = [] for i in range(1, N): if is_palindrome(i) and is_palindrome(int(int2bin(i))): palindromes.append(i) result = sum(palindromes) print("The sum of all numbers, less than %(N)d, which are palindromic in base 10 and base 2 is %(result)d" % vars())
def solve(therange): max_palindrome = 0 for i in therange: for j in range(i, therange[-1] + 1): candidate = i*j if is_palindrome(candidate) and candidate > max_palindrome: max_palindrome = candidate return max_palindrome
def lychrel_sequence(n, limit): e = n + reversed_number(n) i = 1 while True: yield e if is_palindrome(e) or i >= limit: break e += reversed_number(e) i += 1
def get_palindromes(n): for a in range(n): for b in range(n): if a >= b and number.is_palindrome(a * b): yield a * b
def solve(N, limit): limited_results = [list(lychrel_sequence(i, limit))[-1] for i in range(1, N)] lychrel_numbers = filter(lambda n: not is_palindrome(n), limited_results) return len(lychrel_numbers)