输入n的值,统计所有在正整数1和n之间能被6整除、但不能被4整除的数有多少个
时间: 2024-06-11 07:10:12 浏览: 28
找出100~200之间,所有既能被3整除还能被5整除的数,并统计出数量
算法1:
1. 初始化计数器count为0
2. 从1遍历到n,对于每个数i,判断是否能同时被6和4整除,如果不能,则判断是否能被6整除且不能被4整除,如果符合条件,则count加1
3. 遍历结束后返回count作为结果
时间复杂度:O(n)
Python代码:
def count_nums(n):
count = 0
for i in range(1, n+1):
if i % 6 == 0 and i % 4 != 0:
count += 1
return count
算法2:
1. 计算n能被6整除的数量,设为a
2. 计算n能被4整除的数量,设为b
3. 计算n能被6和4同时整除的数量,设为c
4. 返回a-c-b作为结果
时间复杂度:O(1)
Python代码:
def count_nums(n):
a = n // 6
b = n // 4
c = n // 12
return a - c - b + c
# 测试
print(count_nums(10)) # 输出1
print(count_nums(20)) # 输出2
print(count_nums(30)) # 输出3
阅读全文