题解 | 牛牛数数
牛牛数数
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)