请问怎样才能让这串代码正常输出质数

阅读 135

2022-03-19

n=int(input())
s=1
lists=[]
for i in range(1,n+1):
    lists.append(i)
for j in lists:
    if j==1:
        continue
    else:
        for a in range(1,n//j):
            s+=1
            if j*s in lists:
                lists.remove(j*s)
for w in lists:
    if w!=1:
        print(w)

作用是输出0~n的所有质数,

但是在运行过程中大部分奇数的倍数不知道为什么会被打印出来,望大佬点明。

精彩评论(0)

0 0 举报