测评会员优惠活动进行中 · 开通 VIP,有效期内测评不限次 VIP 优惠中 · 测评不限次 立即查看

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)
上一题 下一题