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 Django做网页
Nov 04 Python
python改变日志(logging)存放位置的示例
Mar 27 Python
详解python之多进程和进程池(Processing库)
Jun 09 Python
解决Linux系统中python matplotlib画图的中文显示问题
Jun 15 Python
Python标准模块--ContextManager上下文管理器的具体用法
Nov 27 Python
python编程培训 python培训靠谱吗
Jan 17 Python
Python3.5 + sklearn利用SVM自动识别字母验证码方法示例
May 10 Python
Python3网络爬虫中的requests高级用法详解
Jun 18 Python
Django后端接收嵌套Json数据及解析详解
Jul 17 Python
tesserocr与pytesseract模块的使用方法解析
Aug 30 Python
pycharm如何实现跨目录调用文件
Feb 28 Python
Python xlrd/xlwt 创建excel文件及常用操作
Sep 24 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中header和session_start前不能有输出原因分析
2013/01/11 PHP
yii框架使用分页的方法分析
2019/07/25 PHP
Yii框架参数配置文件params用法实例分析
2019/09/11 PHP
Laravel 框架路由原理与路由访问实例分析
2020/04/14 PHP
JavaScript在IE中“意外地调用了方法或属性访问”
2008/11/19 Javascript
IE Firefox 使用自定义标签的区别
2009/10/15 Javascript
jQuery实现菜单感应鼠标滑动动画效果的方法
2015/02/28 Javascript
JavaScript实现MIPS乘法模拟的方法
2015/04/17 Javascript
JQuery解析XML的方法小结
2016/04/02 Javascript
BootStrap初学者对弹出框和进度条的使用感觉
2016/06/27 Javascript
VUE中v-model和v-for指令详解
2017/06/23 Javascript
浅谈JS中的反柯里化( uncurrying)
2017/08/17 Javascript
全站最详细的Vuex教程
2018/04/13 Javascript
解决小程序无法触发SESSION问题
2020/02/03 Javascript
javascript中的offsetWidth、clientWidth、innerWidth及相关属性方法
2020/05/14 Javascript
Python中的高级函数map/reduce使用实例
2015/04/13 Python
使用python实现生成用户信息
2017/03/20 Python
Python Socket实现简单TCP Server/client功能示例
2017/08/05 Python
Python装饰器原理与用法分析
2018/04/30 Python
浅谈dataframe中更改列属性的方法
2018/07/10 Python
Django自带的加密算法及加密模块详解
2019/12/03 Python
英国最大的汽车交易网站:Auto Trader UK
2016/09/23 全球购物
时装界的“朋克之母”:Vivienne Westwood
2017/07/06 全球购物
Ralph Lauren英国官方网站:Ralph Lauren UK
2018/04/03 全球购物
你经历的项目中的SCM配置项主要有哪些?什么是配置项?
2013/11/04 面试题
Set里的元素是不能重复的,那么用什么方法来区分重复与否呢?
2016/08/18 面试题
大学军训感言800字
2014/02/27 职场文书
交通安全寄语大全
2014/04/08 职场文书
《风筝》教学反思
2014/04/10 职场文书
2014学生会工作总结报告
2014/12/02 职场文书
2014年结对帮扶工作总结
2014/12/17 职场文书
维稳承诺书
2015/01/20 职场文书
2015年妇幼卫生工作总结
2015/05/23 职场文书
Mysql 如何批量插入数据
2021/04/06 MySQL
SQL Server实现分页方法介绍
2022/03/16 SQL Server
MySQL数据管理操作示例讲解
2022/12/24 MySQL