题解 | #挑7#

挑7

https://www.nowcoder.com/practice/ba241b85371c409ea01ac0aa1a8d957b

看到很多人都是用字符串的解法,我这里提供一种算法与数据结构书里面教的简单方法,就是分解位数,比如数字123,首先将数字%10获得尾数3,然后将其除10得到12,接下来%10得到2,除10得到1,%10得到1,除10得到0。设置while循环,不为0时继续循环,为0时跳出循环即可
n = int(input())
count = 0
for i in range(1, n+1):
    if i % 7 == 0:
        count += 1
    else:
        # 分解位数判断
        temp = i
        while temp:
            if temp % 10 == 7:
                count += 1
                break
            temp //= 10
print(count)


全部评论

相关推荐

有气魄的马来熊在摸鱼:我爱vivo 马上换手机 vivo我爱你!!!
点赞 评论 收藏
分享
09-19 13:59
门头沟学院 Java
用微笑面对困难:Trae一下,如果真成了,他用了直接发字节起诉代码版权,,这个代码不商用是没问题的如果没成也是情理之中的。
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务