题解 | 牛牛数数

牛牛数数

https://www.nowcoder.com/practice/03a3cc96fa4847b387bf58bb800d67cf

需求A:打印1到n中所有不含4且不是4的倍数的数

python

n = int(input())
for i in range(1, n + 1):  # 包括n
    if i % 4 != 0 and '4' not in str(i):
        print(i)

之前有个超时方法:

python

n = int(input())
original_n = n  # 备份原始值
digits = []

# 获取n的各位数字(注意:这会修改n的值)
while n > 0:
    n, digit = divmod(n, 10)
    digits.append(digit)

# 判断n是否包含数字4
if 4 not in digits:
    a = 1  # n不含4
else:
    a = 0  # n含4

# 只有n不含4时,才输出
if a == 1:
    for i in range(1, original_n):  # 1到n-1
        if i % 4 != 0:  # 不是4的倍数
            print(i)

全部评论
点赞 回复 分享
发布于 02-05 00:41 江西

相关推荐

02-15 14:18
已编辑
江西工程学院 Java
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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