• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
村雨sup
自己选的路,跪着也要走完 XD
博客园    首页    新随笔    联系   管理    订阅  订阅
牛客网——G送分了(py)

链接:https://www.nowcoder.net/acm/contest/74/G
来源:牛客网

题目描述

杭州人称傻乎乎的人为62,而嘟嘟家这里没有这样的习俗。
相比62,他那里的人更加讨厌数字38,当然啦,还有4这个
数字!所以啊,嘟嘟不点都不想见到包含38或者4的数字。
每次给出一个区间[n,m],你能找到所有令人讨厌的数字吗?

输入描述:

多组输入输出;
输入的都是整数对n、m(0<n≤m<1000000),
如果遇到都是0的整数对,则输入结束。

输出描述:

对于每次的输入
输出全部令人讨厌的数的个数
示例1

输入

1 100
0 0

输出

20
lst = [0]
n = 0
for i in range(1,1000001):
    if '4' in str(i) or '38' in str(i):
        n = n + 1
    lst.append(n)

while True:
    try:
        a,b = input().split()
        if a == '0' and b == '0'://此处注意是'0'不是0
            break
        if '4' in str(a) or '38' in str(a):
            print(lst[int(b)] - lst[int(a)] + 1)
        else:
            print(lst[int(b)] - lst[int(a)])

    except:
        break

py 大法好,不用数位dp,暴力打表秒过呜呜呜。

posted on 2018-02-05 22:44  村雨sup  阅读(255)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3