基础练习 特殊回文数
时间限制:1.0s 内存限制:512.0MB
问题描述
123321是一个非常特殊的数,它从左边读和从右边读是一样的。
输入一个正整数n, 编程求所有这样的五位和六位十进制数,满足各位数字之和等于n 。
输入格式
输入一行,包含一个正整数n。
输出格式
按从小到大的顺序输出满足条件的整数,每个整数占一行。
样例输入
52
样例输出
899998
989989
998899
数据规模和约定
1<=n<=54。
num1 = []
num2 = []#因为结果要从小到大输出,所以建两个列表分别保存五位数字和六位数字
n = int(input())
for i in range(1,min(10,n+1)):
for j in range(0,min(10,n-2*i+1)):
for k in range(0,min(10,n-2*i-2*j+1)):
if(2*i+2*j+k==n):
num1.append(i*10000+j*1000+k*100+j*10+i)
if (2 * i + 2 * j + 2*k == n):
num2.append(i * 100000 + j * 10000 + k * 1000+ k*100 + j * 10 + i)
for a in num1:
print(a)
for b in num2:
print(b)