思路:
- 题目要求筛选法,我们用两个for循环,遍历除数和被除数就ok了,注意,被除数取值范围下限为除数
- 题目要求统计2之后被删除的元素个数,用循环外的计数变量,每删除一次项目就递增1,来计数
a = int(input())
li = list(range(3, a+1))#转成不含2的整数列表
flag=0#flag用来计数2之后清零个数
for x in range(2, a+1):#for x 遍历循环除数
for y in li[x-2:]:#for y 遍历循环被除数,范围为x-a(x-2是因为3的索引是0,比如3又不能取到3,所以-2)
if y % x == 0:
li.remove(y)#如果y能被整除就去掉y
flag+=1#计数器+1
print(2,*li)#解包,加上2打印出来
print(flag)#打印2之后被清0 的个数