2017-10-24 15:41:19 +00:00
|
|
|
'''
|
|
|
|
Problem:
|
|
|
|
A palindromic number reads the same both ways. The largest palindrome made from the product of two 2-digit numbers is 9009 = 91 x 99.
|
|
|
|
Find the largest palindrome made from the product of two 3-digit numbers which is less than N.
|
|
|
|
'''
|
2017-12-03 14:39:13 +00:00
|
|
|
limit = int(input("limit? "))
|
|
|
|
|
|
|
|
# fetchs the next number
|
|
|
|
for number in range(limit-1,10000,-1):
|
|
|
|
|
|
|
|
# converts number into string.
|
|
|
|
strNumber = str(number)
|
|
|
|
|
|
|
|
# checks whether 'strNumber' is a palindrome.
|
|
|
|
if(strNumber == strNumber[::-1]):
|
|
|
|
|
|
|
|
divisor = 999
|
|
|
|
|
|
|
|
# if 'number' is a product of two 3-digit numbers
|
|
|
|
# then number is the answer otherwise fetch next number.
|
|
|
|
while(divisor != 99):
|
|
|
|
|
|
|
|
if((number % divisor == 0) and (len(str(number / divisor)) == 3)):
|
|
|
|
|
|
|
|
print number
|
2017-10-24 15:41:19 +00:00
|
|
|
exit(0)
|
2017-12-03 14:39:13 +00:00
|
|
|
|
|
|
|
divisor -=1
|