题目描述
所谓回文数就是左右对称的数字,比如:585,5885,123321…当然,单个的数字也可以算作是对称的。
小明发现了一种生成回文数的方法:
比如,取数字19,把它与自己的翻转数相加:
19 + 91 = 110,如果不是回文数,就再进行这个过程:
110 + 011 = 121 这次是回文数了。
200以内的数字中,绝大多数都可以在30步以内变成回文数,只有一个数字很特殊,就算迭代了1000次,它还是顽固地拒绝回文!
输出
请你提交该数字表示答案,不要填写任何多余的内容。
直接暴力碰运气,发现死循环看一下就知道了
def ll(n):
ans = 0
while n:
ans+=1
n=n//10
return ans
def hw(n):
nn = n
l = ll(n)-1
while nn:
w = nn%10
nn = nn//10
n+=w*pow(10,l)
l-=1
return n
def judge(n):
s = str(n)
l = len(s)-1
for i in range(l):
if s[i]!=s[l-i]:
return False
return True
for i in range(1,201):
t = 1
ii = i
for j in range(1000):
if judge(ii):
t=0
break
else:
ii = hw(ii)
if t:
print(i)