python使用筛选法计算小于给定数字的所有素数


Posted in Python onMarch 19, 2018

本文实例为大家分享了python计算小于给定数字的所有素数的具体代码,供大家参考,具体内容如下

代码思路:首先列出指定范围内所有候选数字,然后从前往后依次选择一个数字去除以后面所有数字,能够被整除的肯定不是素数,把这些数字过滤掉,然后重复这个过程,直到选择的除数大于最大数字的平方根为止。代码主要演示内置函数filter()和切片的用法,实际上这个算法的效率并不是很高。

def primes2(maxNumber):
  '''筛选法获取小于maxNumber的所有素数'''
  #待判断整数
  lst = list(range(3, maxNumber, 2))
  #最大整数的平方根
  m = int(maxNumber**0.5)
  for index in range(m):
    current = lst[index]
    #如果当前数字已大于最大整数的平方根,结束判断
    if current > m:
      break
    #对该位置之后的元素进行过滤
    lst[index+1:] = list(
      filter(
        lambda x: 0 if not x%current else x,
        lst[index+1:]))
  #2也是素数
  return [2] + lst

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python中使用Boolean操作符做真值测试实例
Jan 30 Python
Python实现字符串匹配算法代码示例
Dec 05 Python
Python实现带参数与不带参数的多重继承示例
Jan 30 Python
python实现聚类算法原理
Feb 12 Python
python画图的函数用法以及技巧
Jun 28 Python
Pycharm激活码激活两种快速方式(附最新激活码和插件)
Mar 12 Python
python如何代码集体右移
Jul 20 Python
python中的yield from语法快速学习
Nov 06 Python
Sentry错误日志监控使用方法解析
Nov 12 Python
Python修改DBF文件指定列
Dec 19 Python
Python 详解通过Scrapy框架实现爬取CSDN全站热榜标题热词流程
Nov 11 Python
python实现学员管理系统(面向对象版)
Jun 05 Python
python将每个单词按空格分开并保存到文件中
Mar 19 #Python
python将文本分每两行一组并保存到文件
Mar 19 #Python
python: line=f.readlines()消除line中\n的方法
Mar 19 #Python
Python File readlines() 使用方法
Mar 19 #Python
Python cookbook(数据结构与算法)筛选及提取序列中元素的方法
Mar 19 #Python
django用户注册、登录、注销和用户扩展的示例
Mar 19 #Python
Python cookbook(数据结构与算法)根据字段将记录分组操作示例
Mar 19 #Python
You might like
给php新手谈谈我的学习心得
2007/02/25 PHP
php从数据库查询结果生成树形列表的方法
2015/04/17 PHP
PHP设计模式之原型模式定义与用法详解
2018/04/03 PHP
对laravel的session获取与存取方法详解
2019/10/08 PHP
浅析LigerUi开发中谨慎载入common.css文件
2013/07/09 Javascript
如何设置iframe高度自适应在跨域情况下的可用方法
2013/09/06 Javascript
利用javaScript实现点击输入框弹出窗体选择信息
2013/12/11 Javascript
jquery live()调用不存在的解决方法
2014/02/26 Javascript
AngularJS表达式讲解及示例代码
2016/08/16 Javascript
微信小程序开发经验总结(推荐)
2017/01/11 Javascript
jQuery插件echarts实现的多柱子柱状图效果示例【附demo源码下载】
2017/03/04 Javascript
基于 flexible 的 Vue 组件:Toast -- 显示框效果
2017/12/26 Javascript
node前端模板引擎Jade之标签的基本写法
2018/05/11 Javascript
node.js使用mongoose操作数据库实现购物车的增、删、改、查功能示例
2019/12/23 Javascript
JavaScript ES6 Class类实现原理详解
2020/05/08 Javascript
详解vue-router的导航钩子(导航守卫)
2020/11/02 Javascript
JS画布动态实现黑客帝国背景效果
2020/11/08 Javascript
vue 解决provide和inject响应的问题
2020/11/12 Javascript
[43:51]2018DOTA2亚洲邀请赛3月30日 小组赛B组 EG VS Secret
2018/03/31 DOTA
[43:14]Liquid vs Optic 2018国际邀请赛淘汰赛BO3 第二场 8.21
2018/08/22 DOTA
python登录pop3邮件服务器接收邮件的方法
2015/04/30 Python
django model去掉unique_together报错的解决方案
2016/10/18 Python
python版本坑:md5例子(python2与python3中md5区别)
2017/06/20 Python
对python模块中多个类的用法详解
2019/01/10 Python
python编写微信公众号首图思路详解
2019/12/13 Python
python 使用递归实现打印一个数字的每一位示例
2020/02/27 Python
关于jupyter打开之后不能直接跳转到浏览器的解决方式
2020/04/13 Python
PyCharm最新激活码(2020/10/27全网最新)
2020/10/27 Python
传统HTML页面实现模块化加载的方法
2018/10/15 HTML / CSS
eBay加拿大站:eBay.ca
2019/06/20 全球购物
大学生职业规划范文:象牙塔生活的四年计划
2014/01/14 职场文书
2014预备党员批评与自我批评思想汇报
2014/09/20 职场文书
教师学期个人总结
2015/02/11 职场文书
大学生敬老院活动总结
2015/05/07 职场文书
侵犯商业秘密的律师函
2015/05/27 职场文书
Python中Selenium对Cookie的操作方法
2021/07/09 Python