纯净数

题目描述

小明非常不喜欢数字 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
喜欢就点赞支持一下吧,如果觉得不错或日后有所需要,可以收藏文章和关注作者哦。
点赞0打赏 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容