题目描述
小明非常不喜欢数字 2,包括那些数位上包含数字 2 的数。如果一个数的数位不包含数字 2,小明将它称为洁净数。
请问在整数 1 至 n 中,洁净数有多少个?
输入描述
输入的第一行包含一个整数 n(1≤n≤106)。
输出描述
输出一行包含一个整数,表示答案。
输入输出样例
示例
输入
30
输出
18
运行限制
- 最大运行时间:1s
- 最大运行内存: 256M
来自: 0洁净数 – 蓝桥云课
我的题解
def pure_num(n):
"""
计算从1到n之间不包含数字2的数的个数。
参数:
n -- 计算范围的上限(包含n)。
返回值:
返回从1到n之间不包含数字2的数的个数。
"""
count = 0 # 初始化计数器
for i in range(1, n+1): # 遍历从1到n的所有整数
if "2" not in str(i): # 如果当前整数的字符串表示不包含数字2
count += 1 # 计数器加一
return count
if __name__ == '__main__':
n = int(input()) # 从用户处接收输入
print(pure_num(n)) # 输出计算结果
存档地址:https://www.yuque.com/worthstudy/study/kg2ulw06cklbxmu4?singleDoc# 《洁净数》
© 版权声明
文章版权归作者所有,如需转载请联系作者。若文章内容侵犯了您的权益,请通过网站底部联系方式联系我们处理(本站具有最终解释权)。如有不便之处,敬请谅解。
THE END
暂无评论内容