[Python]判断回文数
一个正整数,如果从左向右读(称之为正序数)和从右向左读(称之为倒序数)是一样的,这样的数就叫回文数。任取一个正整数,如果不是回文数,将该数与他的倒序数相加,若其和不是回文数,则重复上述步骤,一直到获得回文数为止。
例如:68变成154(68+86),再变成605(154+145),最后变成1111(605+506),而1111是回文数。
不论开始是什么正整数,在经过有限次正序数和倒序数相加的步骤后,都会得到一个回文数。
输入一个正整数
输出第一行是变换的次数,第二行是变换的过程
def inverse(n):
a = {}
k = 0
while n != 0:
k += 1
a = n % 10
n = n // 10
res = 0
for i in range(1, k + 1):
res = res * 10
res = res + a
return res
result = {}
x = eval(input())
cnt = 0
result = x
while x != inverse(x):
x = x + inverse(x)
cnt = cnt + 1
result = x
print(cnt)
for m in range(0, cnt):
print(result, end='>')
print(result)
咱既然用python了,可以用一点pythonic的方式吗,而不是c的思路{:301_1005:}
x = '68'
while x != x[::-1]:
x = str(int(x) + int(x[::-1]))
print(x) JokerX 发表于 2022-4-27 00:50
咱既然用python了,可以用一点pythonic的方式吗,而不是c的思路
x...
值得学习
页:
[1]