很难啊, 难点主要是后半段,需要把初始的数组反向遍历,这样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))