回文数
题目描述
回文数是指一个像14641这样“对称”的数,即:将这个数的各位数字按相反的顺序重新排列后,所得到的数和原来的数一样。请编程求不同位数数字的回文数的个数。
用户输入一个正整数M(2<M<7),M作为回文数的位数。要求输出M位的回文数共有几个及这些回文数中有几个包含数字99。
输入描述
输入一个正整数M
输出描述
第一行输出回文数的个数;第二行输出M位的回文数中包含数字99的有几个。
样例输入
3
样例输出
90
1
代码详解
展开查看
M = int(input()) max = 10**M -1 min = 10**(M-1) count = 0 count2 = 0 for i in range (min, max+1): ls = list(str(i)) for j in range(len(ls)): if ls[j] == ls[M-1-j]: pass else: break else: count += 1 num = str(i) if '99' in num: count2 += 1 print(count) print(count2)
运行结果
展开查看
6 900 99