#Find the largest palindrome made from the product of two 3-digit numbers.
from sys import exit
rev=0
print ' let us start'
for i in range(999,100,-1):
for j in range(999,100,-1):
product = i*j
temp = product
rev1 = str(product)[::-1]
a = rev1
if temp == a:
print ' is a palindrome'
if a > rev:
rev = a
c = temp
h = i
y = j
print '%r*%r=%r,which is the highest palindrome %r' % ( h, y, c, rev)
print a
print rev1
print temp
print 'over'
你知道吗输出:我是使用sublime text2作为编辑器
let us start
Traceback (most recent call last):
File "palindrome.py", line 19, in <module>
print '%r*%r=%r,which is the hghest palindrome %r' % ( h, y, c, l)
NameError: name 'h' is not defined
n == a
永远不会是True
,因为k = str(t)[::-1]
(即a
)是字符串,而t = i*j
即n
是整数。尝试:两个3位数的乘积不到一百万个,因此蛮力方法可以找到最大的(数字上的)乘积,也是回文:
问题已经得到了回答,这里有一点优化:
相关问题 更多 >
编程相关推荐