博客
关于我
HDU 2089:不要62
阅读量:248 次
发布时间:2019-02-28

本文共 877 字,大约阅读时间需要 2 分钟。

为了解决这个问题,我们需要计算在给定的区间 [n, m] 内,不含有不吉利数字的数字的数量。不吉利数字定义为包含数字 4 或连续出现 62 的数字。

方法思路

我们可以使用暴力枚举的方法来解决这个问题。具体步骤如下:

  • 对于每个数字 x,在区间 [n, m] 内,检查其是否包含不吉利数字 4 或 62。
  • 如果数字不包含这些不吉利数字,则计数器加一。
  • 最终输出计数器的结果。
  • 这种方法的时间复杂度是 O((m - n + 1) * len(str(m))),其中 len(str(m)) 是数字的位数。由于题目给出的 m 的最大值为 10^6,这种方法在 Python 中是可行的。

    解决代码

    import sysdef count_valid(n, m):    count = 0    for x in range(n, m + 1):        s = str(x)        if '4' in s or '62' in s:            continue        count += 1    return countn, m = map(int, sys.stdin.readline().split())while True:    line = sys.stdin.readline()    if not line:        break    n, m = map(int, line.strip().split())    if n == 0 and m == 0:        break    print(count_valid(n, m))

    代码解释

  • 读取输入:使用 sys.stdin.readline 读取输入,直到遇到两个连续的 0 时结束循环。
  • 计数函数 count_valid:遍历区间 [n, m] 内的每个数字,检查其是否包含 4 或 62。如果不包含,则计数器加一。
  • 输出结果:对于每个输入的区间,输出符合条件的数字数量。
  • 这种方法直接且简洁,能够在给定的约束条件下高效地解决问题。

    转载地址:http://gubp.baihongyu.com/

    你可能感兴趣的文章
    python可视化matplotlib_如何使用Python中最强大的可视化工具Matplotlib?
    查看>>
    python可维护性_使用这7大神器,让你的Python 代码更容易于维护
    查看>>
    Python只运行一次while循环
    查看>>
    python变量的详细教程_Python零基础入门教程之语法入门[变量](第二期)
    查看>>
    Python变量命名方法-ChatGPT4o作答
    查看>>
    Python变量与运算符
    查看>>
    Python变量/运算符/函数/模块/string
    查看>>
    python发送邮件的时候出现 error (535, b‘5.7.3 Authentication unsuccessful‘) 解决方法
    查看>>
    python系列【仅供参考】:python flask框架 debug功能
    查看>>
    python发送notes邮件_使用python在Lotus Notes中发送邮件
    查看>>
    Python双版本下创建一个Scrapy(西瓜皮)项目
    查看>>
    Python双版本下No module named 'requests'
    查看>>
    python及pycharm2018软件安装教程
    查看>>
    python去重txt文本_Python实现的txt文件去重功能示例
    查看>>
    python去掉列表的逗号,从Python列表项中删除标点符号
    查看>>
    Python卸载所有包
    查看>>
    python单线程下实现多个socket并发
    查看>>
    Python单元测试框架介绍(超详细~)
    查看>>
    Python单元测试框架
    查看>>
    python单元测试之unittest
    查看>>