问题描述
123321是一个非常特殊的数,它从左边读和从右边读是一样的。
输入一个正整数n, 编程求所有这样的五位和六位十进制数,满足各位数字之和等于n 。
输入格式
输入一行,包含一个正整数n。
输出格式
按从小到大的顺序输出满足条件的整数,每个整数占一行。
样例输入
52
样例输出
899998
989989
998899
数据规模和约定
1<=n<=54。
自己用数字转字符串的方式实现了,大多数答案是用的另一种方法,形如用%求n和100模(余数)以及用n除以100,然后用int取整。
例如
a = i % 10
b = int(i / 10) % 10
c = int(i / 100) % 10
我是将数字转换成字符串,然后再比较
#特殊回文数
n=int(input())
for a in range(10000,1000000):
a=list(str(a))
dp=[]
for ai in a:
ai=int(ai)
dp.append(ai)
c=sum(dp)
b=list(reversed(a))
if (a==b)and(c==n):
a=int(''.join(a))
print(a)
回文数
正着数和倒着数都一样,输出所有的这样的四位数
将数字转换成字符串的方式实现
#回文数
for n in range(1000,10000):
a=list(str(n))
b=list(reversed(a))
if a==b:
print(n)