【发布时间】:2013-09-26 09:28:25
【问题描述】:
我尝试了一些基本的优化,以减少通用euler problem #4的操作次数:
def is_palindrome(num):
return str(num) == str(num)[::-1]
def fn(n):
max_palindrome = 1
for x in range(n,1,-1):
for y in range(n,x-1,-1):
if is_palindrome(x*y) and x*y > max_palindrome:
max_palindrome = x*y
elif x * y < max_palindrome:
break
return max_palindrome
print fn(999)
我可以/如何进一步优化它? (假设它是一般解决方案,最多为 n 而不是最多 999)。
【问题讨论】:
-
我假设你已经看到了这个答案:stackoverflow.com/a/12674588/895932 那么你想要的是改变你的代码还是什么?
-
是的 - 我正在做这些练习来升级我的 python-fu,并寻找有关如何使我的代码更快的反馈
-
旁白:如果您正在寻找 cmets 来改进工作代码,您应该查看codereview。
标签: python