def findDoubleBasePalindrome(): doublebasepalindromes = [] for d in range(1,1000000): # for each decimal number below 1 million if (Common.isPalindrome(d)): # check if number is a palindrome if(Common.isPalindrome(Common.convertDecimalToBinary(d))): # convert the decimal number to binary and check if it is a palindrome doublebasepalindromes.append(d) # add it to the list sum_doublebasepalindromes = sum(doublebasepalindromes) # sum all double base palindromes. return sum_doublebasepalindromes
def isLychrel(number): iterations = 1 while (iterations <= 50 ): # for 50 iterations or less reversed_number = "" # Reverse the given number for digit in reversed(Common.getDigits(number)): reversed_number = reversed_number+str(digit) # sum number and its reverse number_added_to_reverse = number+int(reversed_number) # if sum is a palindrome, tell that the given number is not lychrel by returning False. if Common.isPalindrome(str(number_added_to_reverse)): return False iterations +=1 number = number_added_to_reverse return True