python - 我的代码中查找素数列表的错误是什么
问题描述
我想得到一个素数列表。根据素数的定义,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, 0, 17, 0, 0, 0]
实际输出为 [2, 3, 0, 5, 0, 0, 0, 9, 0, 11, 0, 0, 0, 15, 0, 17, 0, 0, 0]
解决方案
推荐阅读
- python-3.x - 使用 re.sub 替换
- javascript - 大尺寸音频文件立即播放音频的问题
- javascript - ReferenceError:文档未在 Nodejs 中定义
- javascript - 回调中的回调应该返回一个承诺
- javascript - 在 JavaScript 中同时使用字符串替换和正则表达式时如何获取捕获组的长度?
- image - Tkinter Canvas 不会在 c.create_image 上显示图像
- c - 错误:链接器命令失败,退出代码为 1
- java - Java 8+ 映射列表的映射
- django - 为什么我会收到此错误?AttributeError:“str”对象没有属性“decode”
- wordpress - Wordpress:禁用白屏死机,启用标准 PHP 错误