特殊回文数
问题描述
123321是一个非常特殊的数,它从左边读和从右边读是一样的。
输入一个正整数n, 编程求所有这样的五位和六位十进制数,满足各位数字之和等于n 。
输入格式
输入一行,包含一个正整数n。
输出格式
按从小到大的顺序输出满足条件的整数,每个整数占一行。
样例输入
52
样例输出
899998
989989
998899
方法一:
n = int(input())
ls = []
for i in range(100, 1000): #遍历100到999之间的数字(求一半的回文数)
s = str(i)
sum5 = 0 #用来保存求和后的值
sum6 = 0
num5 = s + s[1::-1] #组合回文数(5位的)
num6 = s + s[::-1] #组合回文数(6位的)
for x in num5: #遍历5位回文数,求各位数字之和
sum5 += int(x)
for y in num6:
sum6 += int(y)
if sum5 == n:
ls.append(int(num5))
if sum6 == n:
ls.append(int(num6))
ls.sort()
for i in ls:
print(i)
方法二:
a =int(input())
for i in range(10000,1000000):
num = str(i) #转为字符串
if num == num[::-1

最低0.47元/天 解锁文章

372

被折叠的 条评论
为什么被折叠?



