我正在解决这个问题(在http://projecteuler.net/problem=55找到),但我没有把它弄对,所以我寻找答案。 我的代码给出的答案似乎只有3(我的代码:246,右:249)。 如果有人能发现错误就好了。我已经试了三个小时了。。。在
这是我的代码:
from time import time
def rev(x):
return int(str(x)[::-1])
def Palindrome(x):
if x == rev(x): return True
else : return False
def test(x):
steps = 0
while True :
if not Palindrome(x):
steps += 1
else:
return False
if steps > 50 :
return True
x += rev(x)
def main():
starttime = time()
lychrel = 0
for i in range(1,10000):
if test(i) : lychrel += 1
elapsed = time() - starttime
print "The answer is %d found in %f seconds" %(lychrel,elapsed)
if __name__ == "__main__":
main()
提前谢谢!在
来自http://projecteuler.net/problem=55的描述
你的代码不能将4994识别为Lychrel号码。在
相关问题 更多 >
编程相关推荐