如何使这段代码在30秒内运行,以查找由两个具有相同位数的数字相乘得到的最大回文数?
def palindrome(maxInt):
pa=[]
for x in range(maxInt,0,-1):
for y in range(maxInt,0,-1):
num=x*y
if str(num) == str(num)[::-1]:
pa.append(num)
return max(pa)
maxInt
是指定位数的最大数字。例如,如果您想要一个由两个三位数相乘得到的回文数字,maxInt
将为999。如果您想要这样一个回文数字,它是两个四位数的倍数,并且最大,maxInt
将为9999。等等。
如果maxInt=9
,则应输出9。
如果maxInt=99
,则应输出9009。
因此,如果maxInt=999
,程序应输出906609。
如何使它在30秒内返回maxInt=9999
的99000099?