A40927. 回文数是指一个像 14641 这样“对称”的数,即:将这个数的各位数字按相反的顺序重 新排列后,所得到的数和原来的数一样。请编程求不同位数数字的回文数的个数。 用户输入一个正整数 M(2<M<7),M 作为回文数的位数。要求输出 M 位的回文数共 有几个及这些回文数中有几个包含数字 99。【输入描述】输入一个正整数 M【输出描述】第一行输出回文数的个数;第二行输出 M 位的回文数中包含数字 99…
填空题
中等
知识点
题目描述
回文数是指一个像 14641 这样“对称”的数,即:将这个数的各位数字按相反的顺序重 新排列后,所得到的数和原来的数一样。请编程求不同位数数字的回文数的个数。 用户输入一个正整数 M(2<M<7),M 作为回文数的位数。要求输出 M 位的回文数共 有几个及这些回文数中有几个包含数字 99。
【输入描述】
输入一个正整数 M
【输出描述】
第一行输出回文数的个数;第二行输出 M 位的回文数中包含数字 99 的有几 个。
【样例输入】
3
【样例输出】
90
参考答案
xxx=int (input()) # 输入位数
a=int('1'+(xxx-1)*'0') # xxx位的第一个数
b=int('1'+xxx*'0') # xxx位再多一位的数
s=0 # 几个回文数
x=0 # 几个有99的
num=[str(i) for i in range(a,b)] # 所有xxx位的数
for i in num: # 每个都去遍历
if int(i)==int(i[::-1]): # 判断是否为回文数(用到了切片,使其倒置)
s+=1
if '99' in i: # 判断是否包含99
x+=1
print(s)
上一题
下一题