今天是第四题。
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.
回文数,是指一个整数从左到右和从右到左相等的书,比如说11,121,112232211。这道题的要求是找出最大的一个回文数,要求这个数是由两个三位数相乘而得。
判断回文数简介的方式是利用python的字符串反转功能,即若s[::-1]==s,则该字符串是个回文字符串。思路是判断所有三位数两两乘积,判断是否是回文数,然后储存在一个数组中。利用max寻求数组中的最大值。这种方式简单易实现,但是不利于得到是哪两个数相乘的结果。另一方面,还是效率问题,直接历遍有所可能效率太低。
Python实现:
Python |copy code |?
01 #========================================================================
02 # FileName: Palindromic.py
03 # Author: hsyyf
04 # Email: 931107419@qq.com
05 # HomePage: http://www.hsyyf.me
06 # LastChange: 2012-06-26 12:14:52
07 #========================================================================
08 x=[]09 for i in range(999,100,-1):10 for j in range(999,100,-1):11 m=i*j
12 s=str(m)13 if s==s[::-1]:14 x.append(m)15 break
16 print(max(x))17 18 input("Input Enter to End")19
结果是906609.