题解 | #挑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)


全部评论

相关推荐

巧克力1:双选会不如教室宣讲会
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务