python使用筛选法计算小于给定数字的所有素数,python素数
python使用筛选法计算小于给定数字的所有素数,python素数
本文实例为大家分享了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实现示例
- python实现堆和索引堆的代码示例,python索引堆示例
- python素数筛选法浅析,python素数浅析
- python如何在列表、字典中筛选数据,python字典
- Python实现的将文件每一列写入列表功能示例【测试可用
- Python使用zip合并相邻列表项的方法示例,python列表项
- ubuntu安装sublime3并配置python3环境的方法,sublime3python3
- Python cookbook(数据结构与算法)找出序列中出现次数最多
- Python遍历某目录下的所有文件夹与文件路径,python路径
- python实现求解列表中元素的排列和组合问题,python求解
评论关闭