用生成器实现素数序列

Posted fanyuchen

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了用生成器实现素数序列相关的知识,希望对你有一定的参考价值。

 1 def geneList():
 2     n = 1
 3     while True:
 4         n += 2
 5         yield n
 6 
 7 def myFilter(n):
 8     return lambda x : x % n > 0
 9 
10 def primeFilter():
11     yield 2
12     mGen = geneList()
13     while True:
14         n = next(mGen)
15         yield n
16         mGen = filter(myFilter(n), mGen)
17 
18 
19 for x in primeFilter():
20     if x <1000:
21         print(x)
22     else:
23         break

 

以上是关于用生成器实现素数序列的主要内容,如果未能解决你的问题,请参考以下文章

素数序列的生成及其应用(采用了新学的更高效的算法:布尔标记法 + 倍数淘汰法)

素数序列的生成及其应用(采用了自研的高效算法)

C语言 设计并实现一种大素数随机生成方法; 实现一种快速判定任意一个大数是不是是素数方法 跪求啊

急急急 求大神帮忙 用vc++ 生成1024位大素数 用到米勒拉宾素性测试

POJ3006-Dirichlet's Theorem on Arithmetic Progressions

用filter求素数