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.
这个问题比较有意思,只是不知道有没有数学理论,不用这么一个一个的除就好了
#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.
#判断是否回数
def palindNum(n):
newstr=str(n)
revstr=newstr[::-1]
if newstr == revstr:
return True
else:
return False
import math
#判断是否能拆成三位数相乘
def productDigit(n):
start = 999
end = int(math.sqrt(n))
while start > end:
temp1,temp2 = divmod(n,start)
if temp2 == 0 and temp1 > 99 and temp1 < 1000:
return True
start -= 1
return False
#求取最大的回数
def largestPalin(n):
while n > 0:
if palindNum(n) and productDigit(n):
return n
n -=1
return 0
print(largestPalin(1000000))