Advertisement
Guest User

Palindromes

a guest
Jun 28th, 2016
123
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 0.87 KB | None | 0 0
  1. def is_palindrome(n):
  2.     s = str(n)
  3.     return s == s[::-1]
  4.  
  5.  
  6. def product_lst(n):
  7.     elif n == 1: return ((3, 3), 9)
  8.     palindrome = max_palindrome = 0
  9.     pair = (0, 0)
  10.     n = 10**n
  11.     for i in xrange(n - 1, 0, -1):
  12.         # Since all palindromes are divisible by 11, either j or i has to be as well"
  13.         if i % 11 == 0:
  14.             j_max = i
  15.             j_range = xrange(j_max + 1, min(palindrome/i, j_max), -1)
  16.         else:
  17.             j_max = 11 * int(i / 11)
  18.             j_range = xrange(j_max, min(palindrome/i, j_max), -11)
  19.  
  20.         if j_max * i < palindrome:
  21.             break
  22.  
  23.         for j in j_range:
  24.             product = i * j
  25.             if is_palindrome(product):
  26.                 if product > palindrome:
  27.                     palindrome = product
  28.                     pair = (i, j)
  29.                     break
  30.     return (pair, palindrome)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement