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))
本文探讨了如何通过编程找出两个三位数相乘所能产生的最大回文数。文章提供了一种有效的算法实现,包括如何判断一个数是否为回文数及验证该数是否由两个三位数相乘得到。
1万+

被折叠的 条评论
为什么被折叠?



