就空间而言最快的方法——用Python找到素数

2024-04-01

也许这是一个愚蠢的问题,但我想知道你是否可以提供用Python查找素数的最短来源。 我还想知道如何使用 map() 或 filter() 函数查找素数。 谢谢 (:

编辑:当我说最快/最短时,我的意思是使用较少字符/单词的方式。无论如何,不​​要考虑竞争:我想知道是否有可能是单行源,而不删除始终与 for 循环一起使用的缩进。 编辑2:这个问题并没有被考虑到巨大的数字。我认为我们可以保持在一百万以下(范围(2,1000000) 编辑3:最短,但仍然优雅。正如我在第一个编辑中所说,您不需要将变量名称减少为单个字母。我只需要一行,优雅的源代码。 谢谢你!


The 埃拉托斯特尼筛法 http://en.wikipedia.org/wiki/Sieve_of_Eratosthenes分两行。

primes = set(range(2,1000000))
for n in [2]+range(3,1000000/2,2): primes -= set(range(2*n,1000000,n))

编辑:我意识到上面的方法并不是真正的埃拉托斯特尼筛法,因为它过滤的是奇数集而不是素数集,这使得它不必要地变慢。我已在以下版本中修复了该问题,并且还包含了评论中指出的一些常见优化。

primes = set([2] + range(3, 1000000, 2))
for n in range(3, int(1000000**0.5)+1, 2): primes -= set(range(n*n,1000000,2*n) if n in primes else [])

第一个版本仍然较短,并且确实生成了正确的结果,即使需要更长的时间。

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

就空间而言最快的方法——用Python找到素数 的相关文章

随机推荐

  • 如何检测C++中的溢出?

    我只是想知道是否有一些方便的方法来检测运行时 C 程序中使用的任何默认数据类型的任何变量是否发生溢出 我所说的方便是指 如果每次变量的值发生变化时该变量都在其数据类型的范围内 则无需编写代码来跟踪每个变量 或者如果不可能实现这一点 你会怎么
  • 在 python 中将自定义模块与对象一起序列化

    Problem 假设我有这个模块名为custom module class CustomClass pass 我在脚本中使用这个类来序列化我定义的类的对象custom module import cloudpickle import cus
  • Firebase 身份验证的 Swagger 定义

    任何人都可以提供用于 firebase 身份验证的 Swagger 安全定义的工作示例吗 在后端 使用 firebase admin SDK 验证 firebase ID 令牌 import as admin from firebase a
  • RVM 与 ruby​​ 的本机安装

    我想知道在生产服务器中使用 rvm 是否有任何缺点 我应该选择 RVM 还是本机安装 为什么 不要这样做 错误 也许可以这样做 简单总是有回报的 Rvm是一个开发工具 由于您不会在生产服务器上动态地来回切换 Ruby 版本 因此它没有任何好
  • 找不到工具.jar

    我正在尝试构建 JOGL 的副本 但ant一直给我错误找不到tools jar 所以我在我的 JDK 目录中搜索 但也找不到它 有人可以帮我找到tools jar吗 您确定正在搜索您的JDK目录而不是JRE目录 我希望它在 JDK 中lib
  • startActivityForResult 似乎没有调用 onActivityResult

    当用户单击按钮时 它想要调用对话框 该对话框包含 ListView 中的产品列表 用户选择产品后 它应该转到上一个活动 我已经使用过startActivityForResult 有一些问题 我的调用活动位于选项卡活动组中的正常选项卡活动中
  • 如何解决 MVC 过滤器属性中的依赖注入

    我有一个从 AuthorizationAttribute 派生的自定义属性类 它对控制器操作执行自定义安全性 OnAuthorizationCore 方法依赖于各种其他组件 例如 DAL 来判断用户是否可以调用操作 我正在使用 Autofa
  • 如何在Python中仅初始化一次数据库连接并在运行时重用它?

    我目前正在开发一个巨大的项目 该项目不断执行查询 我的问题是 我的旧代码总是创建一个新的数据库连接和游标 这极大地降低了速度 所以我认为是时候创建一个新的数据库类了 目前看起来像这样 class Database object instan
  • 无法将 varchar 值转换为 int 数据类型

    我有简单的代码 我需要进行简单的操作 column A 100 但我无法将varchar类型转换为int 我的错误是 将 varchar 值 0 27 转换为数据类型 int 时转换失败 SELECT POWIERZCHNIA POWIER
  • stat_contour 无法生成等高线

    我需要通过添加行stat contour to my ggplot ggplot2 阴谋 不幸的是 我无法向您提供应该评估点值的真实数据 然而 另一个易于重现的示例的行为是相同的 testPts lt data frame x rep se
  • TFS 2015 - TF401002:SQL Server 数据库引擎无法将数据库备份保存到路径

    尝试为 TFS 2015 创建计划备份时 我收到以下消息 TF401002 SQL Server 数据库引擎无法将数据库备份保存到路径 share d TFSBackups 请授予 SQL 服务帐户读 写权限访问该文件夹 我似乎找不到适合我
  • Google 应用引擎或查询 (python)

    任何人都可以分享您在应用程序引擎中进行 或 查询的方法吗 假设我有 class A db model db Model valueA db ListProperty basestring 在 valueA 我有 aaa aaa bbb bb
  • Android开发者控制台错误报告

    我发布了一个免费的应用程序 有几个用户发表了评论 说应用程序强制在谷歌的反馈中关闭 当天就有数百次下载 留存率高达 84 Google 在开发者控制台中的错误报告显示有 0 个错误 我从来没有遇到过在控制台中报告任何错误的应用程序 它真的有
  • SQL Server 中子查询的总和

    我有一个查询 里面有一些子查询 我想添加一个求和查询来对它们进行求和 我怎样才能做到这一点 example Id SELECT COUNT FROM table1 LEFT JOIN table2 on as col1 SELECT COU
  • #评估图像数据

    如何使用 Eval 将 sql varbinary 数据 图像 绑定到图像 像这样的东西
  • Homebrew pyenv安装错误dyld:未加载库:/usr/local/opt/readline/lib/libreadline.7.dylib

    在 MacOS Mojave 上从 Homebrew 安装 pyenv 后 尝试安装任何 python 版本时出现构建错误 跑步时pyenv install对于任何版本 构建都会失败并出现错误 dyld Library not loaded
  • TypeScript 类型根据其他参数缩小回调中函数参数的范围

    我正在处理经典的节点回调 例子 myFunction foo err Error null data Buffer gt if err typeof err is Error typeof data is Buffer undefined
  • codeigniter 数据传递控制器->库->视图

    我有一个代码点火器问题 我试图将数据从控制器发送到库 发送到视图 我在视图中收到此错误 Message Undefined variable crimes 文件名 views crime view php Line 45 在调试时 我转储
  • 如何将 .php 文件上传到 Heroku

    我需要将 php 文件上传到我的 Heroku 网站 这是如何使用终端完成的 我已登录终端并可以看到我的应用程序等 谢谢你的帮助 如果您需要通过终端在 Heroku 应用程序上上传文件 您需要跟踪它并使用Git 安装并配置 heroku 工
  • 就空间而言最快的方法——用Python找到素数

    也许这是一个愚蠢的问题 但我想知道你是否可以提供用Python查找素数的最短来源 我还想知道如何使用 map 或 filter 函数查找素数 谢谢 编辑 当我说最快 最短时 我的意思是使用较少字符 单词的方式 无论如何 不 要考虑竞争 我想