def p36(): total = 0 for i in range(1000000): if pelib.is_palindrome(str(i)): if pelib.is_palindrome(Denary2Binary(i)): total += i return total
def is_lychrel(number): """Determines if number holds Lychrel-Property""" if number >= LYCHREL_NUMBER_LIMIT: raise ValueError( '{} is bigger then the specified maximum limit ({})'.format( number, LYCHREL_NUMBER_LIMIT)) cur_number = number step = 0 while step < MAX_NR_STEPS_LYCHREL_TEST: new_number = cur_number + int(str(cur_number)[::-1]) if pelib.is_palindrome(str(new_number)): #print("Found Palindrome {}".format(new_number)) return False cur_number = new_number step += 1 # Cannot exclude LYCHREL Property, therefore it is assumed to be true. return True
def test_palindrome(self): self.assertTrue(pelib.is_palindrome('')) self.assertTrue(pelib.is_palindrome('a')) self.assertTrue(pelib.is_palindrome('aa')) self.assertTrue(pelib.is_palindrome('a1a')) self.assertFalse(pelib.is_palindrome('ab'))
#!python from pelib import Found, is_palindrome if __name__ == '__main__': try: i_l = [] j_l = [] p_l = [] for i in range(999,99,-1): for j in range(999,99,-1): p = i*j; if is_palindrome(i*j): p_l.append(p) i_l.append(i) j_l.append(j) raise Found except Found: ind = p_l.index(max(p_l)) print "Largest palindrome:", p_l[ind] exit(0) exit(1)