【发布时间】:2009-02-16 23:21:46
【问题描述】:
使用 Python,我正在尝试解决 problem #4 中的 Project Euler 问题。有人可以告诉我我做错了什么吗?问题是找出由两个 3 位数乘积构成的最大回文数。这是我到目前为止所拥有的。
import math
def main():
for z in range(100, 1000):
for y in range(100, 1000):
for x in range(1, 1000000):
x = str(x)
if x == x[::-1] and x == z*y:
print x
if __name__ == '__main__':
main()
【问题讨论】:
-
什么不起作用?它会出错吗?请提供堆栈跟踪。它似乎永远运行吗?嗯...也许这就是它很难的原因。
-
这不会打印任何东西,因为他正在比较一个字符串和一个 int。
-
@Baltimark:还是因为它试图迭代近一万亿个项目而不打印?如果您可以每秒评估 10,000 个,则只需大约 3 年即可完成。
-
marc,你能请重新命名这个问题以表明它是针对#4的吗?
-
对不起你完全正确它的实际问题 4
标签: python palindrome