我想得到一个质数表。根据素数的定义,不应出现15。但是它显示在我的输出中。我不知道发生了什么
python
import math
n = input('n')
n = int(n)
A = list(range(2,n+1))
print(A)
n_=math.floor(math.sqrt(n))
m = list(range(2,n_+1))
for i in range(0,len(m)):
if m[i]!=0:
j = m[i]^2
while j<= n:
A[j-2] = 0
j = j+m[i]
A[0]=2;
print(A)
print(m)
我希望输出为[2、3、0、5、0、0、0、9、0、11、0、0、0、0、17、0、0、0] >
实际输出为[2、3、0、5、0、0、0、9、0、11、0、0、15、0、17、0、0、0]