很难啊, 难点主要是后半段,需要把初始的数组反向遍历,这样pop就不会影响原来的index,其他的就比较简单了

n = int(input())
lines = [i for i in range(2,n+1)]
num1 = len(lines)
for i in range(2,n+1):
    if i not in lines:
        continue
    else:
        start=lines.index(i)
        for j in range(len(lines)-1,start,-1):#难点,此处需要把初始的数组反向遍历,这样pop就不会影响原来的index,其他的就比较简单了
            if lines[j]%i==0:
                lines.pop(j)
print(" ".join([str(i)for i in lines] ))
print(num1-len(lines))