欧拉计划 第4题 Largest palindrome product

题目

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.

回文数两个方向读的是一样的。两个两位数相乘得到的最大的回文数是9009 = 91 × 99。

找出由两个三位数相乘的最大的回文数。

思路

先将范围在100-999的两个数的所有乘积结果放在列表中,再将其从大到小排序,循环判断每一个数是否为回文数。

代码实现(python)

from past.builtins import xrange


def ispalindromic(num):
    num = str(num)
    strlist = list(num)
    strlist.reverse()
    numreverse = ''.join(strlist)
    if num == numreverse:
        return True
    else:
        return False


if __name__ == '__main__':
    l = [x * y for x in xrange(999, 99, -1) for y in xrange(999, 99, -1)]
    l.sort(reverse=True)
    for i in range(len(l)):
        if ispalindromic(l[i]) is True:
            print(l[i])
            break

猜你喜欢

转载自blog.csdn.net/weixin_41297561/article/details/108631790