Project Euler Problem4
Largest palindrome product
Problem 4
A palindromic number reads the same both ways. The largest palindrome made from the product of two 2-digit numbers is 9009 = 91 99.
Find the largest palindrome made from the product of two 3-digit numbers.
The python code is as follows:
def isPalindromic(data): list = [] while data > 10: list.append(data%10) data = int(data/10) list.append(data) print(list) i = 0 j = len(list)-1 while i < j: if list[i] != list[j]: return False i += 1 j -= 1 return True a = 999 total = 0 result = 0 targetA = 0 targetB = 0 while a >= 100: b = 999 if a*b < result: break while b >= 100: total = a*b if total < result: break if isPalindromic(total): result = total targetA = a targetB = b b -= 1 a -= 1 print(result) print(targetA) print(targetB)
Assuming b is large than a, we can rewrite the code like this:
def isPalindromic(data): list = [] while data > 10: list.append(data%10) data = int(data/10) list.append(data) print(list) i = 0 j = len(list)-1 while i < j: if list[i] != list[j]: return False i += 1 j -= 1 return True a = 999 total = 0 result = 0 targetA = 0 targetB = 0 while a >= 100: b = 999 if a*b < result: break while b >= a: total = a*b if total < result: break if isPalindromic(total): result = total targetA = a targetB = b b -= 1 a -= 1 print(result) print(targetA) print(targetB)