素数生成器解释? [复制]

2023-11-22

我正在寻找一种生成素数的算法。我找到了罗伯特·威廉·汉克斯 (Robert William Hanks) 创作的以下一幅作品。它非常有效并且比其他算法更好,但我无法理解其背后的数学原理。

def primes(n):
    """ Returns  a list of primes < n """
    lis = [True] * n
    for i in range(3,int(n**0.5)+1,2):
        if lis[i]:
            lis[i*i::2*i]=[False]*int((n-i*i-1)/(2*i)+1)
    return [2] + [i for i in range(3,n,2) if lis[i]]

数组之间有什么关系Trues 值和最终的素数数组?


从...开始n True数组中的值,其中i枚举自3 to sqrt(n)通过以下步骤2,如果 i数组中的第一项仍然是True, 设置False所有条目来自i^2到数组的末尾,步骤为2*i(这些都是i).

All odd True上面的条目1最后留在数组中的是素数。

所有由此找到的数字,以及2,是下面存在的所有素数n.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

素数生成器解释? [复制] 的相关文章

随机推荐

  • 如果被少于五个连续零包围,则将向量中的零更改为一

    我有一个向量0s and 1s 并想要识别字符串所在的索引0s 被包围1s 如果数量0之间的1s 小于或等于 5 我想将这些零更改为1s 这是一个例子 gt x lt c 0 0 0 1 1 1 0 0 0 1 1 0 0 0 0 0 0
  • 如何调度一个超时的 Redux 操作?

    我有一个操作可以更新我的应用程序的通知状态 通常 此通知将是某种错误或信息 然后 我需要在 5 秒后调度另一个操作 将通知状态返回到初始状态 因此没有通知 其背后的主要原因是提供通知在 5 秒后自动消失的功能 我没有运气使用setTimeo
  • 在bash shell脚本中如何将字符串转换为数字[重复]

    这个问题在这里已经有答案了 嘿我想将字符串转换为数字 x 0 80 I would like to convert x to 0 80 to compare like such if x gt 0 70 then echo x gt gt
  • 如何使用 Jackson 反序列化 JS 日期?

    我从 ExtJS 获取格式为以下的日期字符串 2011 04 08T09 00 00 当我尝试反序列化此日期时 它将时区更改为印度标准时间 为时间添加 5 30 这就是我反序列化日期的方式 SimpleDateFormat dateForm
  • npm install fsevents 错误

    你好 我正在尝试安装 fsevents whitchnpm 因此我使用以下版本 节点 4 2 6 国家公共管理 3 5 2 操作系统 Ubuntu 16 04 LTS 我正在执行该语句 Edited npm install fsevents
  • 使用仪器解决内存不足警告

    我正在尝试使用仪器来解决一些内存不足的情况 我可以看到物理内存可用监视器中的内存消耗下降到几 MB 尽管分配显示所有分配约为 3 MB 总体字节为 34 MB 自从我使用 NSOperationQueue 将一些操作移动到单独的线程后 我就
  • NHibernate无状态会话插入速度慢

    这几天我一直致力于提高 NHibernate 插入性能 我读过很多帖子 例如this one that 无状态会话每秒可以插入 1000 2000 条记录 但是 它可以插入 1243 条记录的最佳时间对我来说超过 9 秒 var sessi
  • smtp;550 访问被拒绝 - HELO 名称无效(请参阅 RFC2821 4.1.1.1)

    我正在运行 Windows Server 2008 R2 但我收到一些域拒绝的 smtp 邮件 为了测试它 我将一个文本文件放入 C inetpub mailroot Pickup 目录中 内容如下 From email protected
  • 带有双引号参数的 exec

    我想执行findWindows 命令使用exec包 但 Windows 正在做一些奇怪的转义 我有类似的东西 out err exec Command find SomeText Output 但这会引发错误 因为 Windows 正在将其
  • 将分数转换为 html 实体[重​​复]

    这个问题在这里已经有答案了 我们在数据库中存储了一些分数信息 例如3 4 5 除了进行搜索和替换之外 是否有任何内置 PHP 函数可以自动将它们转换为正确的 html 实体 您可以使用htmlentities 函数 这会将所有特殊字符替换为
  • 检测用户何时关闭软键盘

    我的视图中有一个 EditText 小部件 当用户选择 EditText 小部件时 我会显示一些说明并出现软键盘 我使用 OnEditorActionListener 来检测用户何时完成文本输入 然后关闭键盘 隐藏指令并执行某些操作 我的问
  • 有什么方法可以知道 php 脚本是否在 cli 模式下运行?

    或者反过来 有没有办法知道 php 脚本是否正在 Web 服务器内运行 http www php net manual en function php sapi name php function is cli return php sap
  • Java 客户端应用程序中的 Ajax 调用 [重复]

    这个问题在这里已经有答案了 可能的重复 如何使用 Servlet 和 Ajax 我在 Javascript 中使用以下代码来进行 Ajax 调用 function getPersonDataFromServer ajax type POST
  • 为什么 Node.js 一次只处理六个请求?

    我们有一个 Node js 服务器 它实现了 REST API 作为中央服务器的代理 而中央服务器的 REST API 略有不同 而且不幸的是不对称 我们的客户端运行在各种浏览器中 要求节点服务器从中央服务器获取任务 节点服务器从中央服务器
  • 将范围变量连接到角度指令表达式中的字符串中

    我在 Angular ng click 指令中使用作用域方法 如下所示 a obj val1 obj val2 a 这里的问题是 obj val1 和 obj val2 被解释为传递给表达式中的方法的字符串的一部分 我需要将它们作为变量进行
  • Java方法使用反射分配对象字段值

    我想知道 Java 中是否可以有类似下面的内容 public class MyClass private String name private Integer age private Date dateOfBirth constructo
  • 如何自动回答 y(kill-matching-buffers 询问我是否应该终止修改的缓冲区)?

    在 Emacs 中 如何杀死与正则表达式匹配的缓冲区 Edit 我该如何回答y自动地 kill matching buffers询问我是否应该杀死修改过的缓冲区 像这样的东西吗 defun bk kill buffers bfrRgxp i
  • 使用 React Router 进行条件渲染

    我想在顶部渲染一些带有导航的路线 而在没有任何导航的情况下渲染其他路线 如注册 登录页面 对于导航的设置 我有 const App gt
  • 从类路径中的任何位置加载资源

    我有一个简单的 java 应用程序 它从当前包加载属性文件 this getClass getResourceAsStream props properties 当我想要的属性文件位于当前包中时 这可以正常工作 但是 我想将此应用程序打包为
  • 素数生成器解释? [复制]

    这个问题在这里已经有答案了 我正在寻找一种生成素数的算法 我找到了罗伯特 威廉 汉克斯 Robert William Hanks 创作的以下一幅作品 它非常有效并且比其他算法更好 但我无法理解其背后的数学原理 def primes n Re