bil*_*pcs -1 python python-2.7
我正在解决这个问题(在http://projecteuler.net/problem=55找到),但我无法解决它,所以我搜索了答案。似乎我的代码给出的答案仅差 3 (mine: 246 , right: 249)。有人发现错误会很好。我已经尝试了3个小时了......
这是我的代码:
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()
Run Code Online (Sandbox Code Playgroud)
提前致谢!
来自http://projecteuler.net/problem=55的描述
令人惊讶的是,有些回文数本身就是 Lychrel 数;第一个例子是 4994。
您的代码无法将 4994 识别为 Lychrel 数。