本人最近读完一本书《质数的孤独》,里面讲到孪生质数,就想查一下孪生质数的分布情况。其中主要用到了计算质数(素数)的方法,搜了一下,排名前几的都是用for循环来做的,感觉略微麻烦了一些,在比较一些还是觉得用递归筛选法来解决这个问题。

新建List,然后从第0位开始,如果后面的能被这个数整除,则从数组中移除改元素,以此类推,最后留下的就是质数(素数)。

python版本与java版本不同,java可以在遍历list的时候删除该元素,可以对循环变量i进行i--的操作,防止以后的get(i)方法报错,python不支持这个操作只能是拿到被删除的元素,然后在遍历结束以后再去删除

代码如下:

#!/usr/bin/python3

class Test():

def __init__(self):

print ("fan")

def get(self,list,st):

n = list[st]

a = []

for i in range(st+1,len(list)):

if list[i] % n == 0:

a.append(list[i])

for x in a:

list.remove(x)

if len(list) > st+1:

self.get(list,st+1)

if __name__ == "__main__":

test = Test()

list = [i for i in range(2,5000)]

test.get(list,0)

for i in range(len(list)-1):

a = list[i]

b = list[i+1]

if b-a==2:

print ("孪生质数:"+str(a)+"----"+str(b))

这里备注一下:python为了防止内存溢出,限制了递归的深度,所以直接求10000以内的还不行,会报错:

RecursionError: maximum recursion depth exceeded in comparison

技术类文章精选

非技术文章精选

python100以内孪生素数_python用递归筛选法求N以内的孪生质数(孪生素数)相关推荐

  1. 用python找孪生素数_python用递归筛选法求N以内的孪生质数(孪生素数)

    本人最近读完一本书<质数的孤独>,里面讲到孪生质数,就想查一下孪生质数的分布情况.其中主要用到了计算质数(素数)的方法,搜了一下,排名前几的都是用for循环来做的,感觉略微麻烦了一些,在比 ...

  2. java两个数之间质数求法_java用递归筛选法求N以内的孪生质数(孪生素数)

    本人最近读完一本书<质数的孤独>,里面讲到孪生质数,就想查一下孪生质数的分布情况.其中主要用到了计算质数(素数)的方法,搜了一下,排名前几的都是用for循环来做的,感觉略微麻烦了一些,在比 ...

  3. python筛选质数并一行输出五个_python使用filter方法递归筛选法求N以内的质数素数附一行打印心形标记的代码解析...

    本人在学习使用Python的lambda语法的过程中,用之前求解质数的思路重写了一遍,思路如下:就是新建一个长数组,然后从前往后递归相除去过滤后面的元素.中间对于Python语法的有了一点新的认识:看 ...

  4. python实现素数筛选法_python 使用 filter 方法递归筛选法求 N 以内的质数 (素数)

    本人在学习使用 Python 的 lambda 语法的过程中,用之前求解质数的思路重写了一遍,思路如下:就是新建一个长数组,然后从前往后递归相除去过滤后面的元素.中间对于 Python 语法的有了一点 ...

  5. 用筛选法求100以内的素数(数组)

    用筛选法求100以内的素数,要求使用数组. #include "stdafx.h" #include<iostream> using namespace std; in ...

  6. 【C语言】 利用筛选法求100以内的素数

    算法思路: 原理很简单,就是当i是质(素)数的时候,i的所有的倍数必然是合数.如果i已经被判断不是质数了,那么再找到i后面的质数来把这个质数的倍数筛掉. 代码如下: //C语言 筛选法求100以内的素 ...

  7. C语言:用筛选法求100以内的素数

    用筛选法求100以内的素数 素数:即质数,质数是指在大于1的自然数中,除了1和它本身以外不再有其他因数的自然数. 筛选法:1不是素数,划去:2是素数,留下,将2的倍数划去:3没被划去,将3的倍数划去: ...

  8. 用筛选法求100以内的素数

    用筛选法求100以内的素数 所谓筛选法是指埃拉托色尼筛选.埃拉托色尼是古希腊的著名数学家.他采取的方法是,在一张纸上写上1到1000的全部整数,然后逐个判断他们是否素数,找出一个非素数,就把他们挖掉, ...

  9. c语言 用筛选法求100以内的素数,使用筛选法求100以内的素数

    使用筛选法求100以内的素数 筛选法介绍 先把N个自然数按次序排列起来. 1不是质数,也不是合数,划去. 第二个数2是质数留下来,而把2后面所有能被2整除的数都划去.2后面第一个没 划去的数是3,把3 ...

最新文章

  1. mybatisplus 操作另一个数据库的数据_c#连接sql数据库以及操作数据库
  2. python语言流程控制语句的格式_第四节 Python控制语句
  3. Python3 字符串复制
  4. Redis源码剖析(一)服务器与客户端交互流程
  5. hadoop学习2 记录配置hadoop环境的那些坑
  6. iPhone 12不标配充电器后,国产手机配件成了国外抢手货!
  7. js实现IE、谷歌浏览器打印网页内容
  8. 转【是什么浪费了我的时间 】
  9. ARMv8的OP-TEE源代码的获取和编译
  10. vrep和simulink联合仿真
  11. 《凤凰项目:一个IT运维的传奇故事》的读后感
  12. 使用selenium爬取东航余票
  13. r语言 col_co,cob,col,con,cor,cog前缀其实都是com变化而已
  14. 《实战java程序设计---上》
  15. 金蝶登录服务器不显示名称,金蝶云服务器如何登陆不了
  16. 项目管理(PMP)项目进度管理
  17. 爬虫+可视化——链家杭州二手房房源信息
  18. 职业情商修炼的3523法
  19. jdk 1.8安装教程
  20. [机缘参悟-43]:鬼谷子-第六忤合篇 - 合则聚,不合则散,顺势而为

热门文章

  1. Scalaz(44)- concurrency :scalaz Future,尚不完整的多线程类型
  2. 经典KMP算法C++与Java实现代码
  3. D - 小Y上学记——要迟到了!
  4. ibatis.net:第五天,QueryForObject
  5. 二叉树节点数据结构-练习 5 二叉树的建立 遍历
  6. php 和mysql实现抢购功能_php处理抢购类功能的高并发请求
  7. php根据当前日期判断法定节假日_判断日期是否为法定节假日的API接口与示例函数...
  8. 北京师范大学计算机应用基础考试,北京师范大学-计算机应用基础作业(一至九全套)...
  9. php灰度化,PHP Imagick – 将图像转换为灰度(非常糟糕的结果)
  10. php程序计算偶数和,php怎么编写计算双数的和