玩蛇网提供最新Python编程技术信息以及Python资源下载!

用Python求素数的快速算法源码示例

python 培训

本篇文章为Python算法相关,用Python求素数的快速算法源码示例。算法在Python的学习中算是一个要点,能研究明白算法的同学都可以算的上是Python的大牛了。

用Python求素数算法源码

首先简单的来说下什么是素数:质数又称素数,有无限个。除了1和它本身以外不再有其他的因数;例如 2,3,5,7 是质数,而 4,6,8,9 则不是。这里只是简单的说一下,如果想具体了解素数,可以自行百度。

以下为Python求素数的快速算法源码示例:


def primes(n):
  
  if n < 2:  return []

  if n == 2: return [2]
 
  s = range(3, n, 2)
 
  mroot = n ** 0.5

  half = len(s)

  i = 0

  m = 3

#www.iplaypython.com

  while m <= mroot:

    if s[i]:
      j = (m * m - 3)//2
      s[j] = 0

      while j < half:
        s[j] = 0
        j += m

    i = i + 1

    m = 2 * i + 3

  return [2]+[x for x in s if x]

玩蛇网原创,转载请注明文章出处和来源网址:http://www.iplaypython.com/code/algorithm/a2609.html



微信公众号搜索"玩蛇网Python之家"加关注,每日最新的Python资讯、图文视频教程可以让你一手全掌握。强烈推荐关注!

微信扫描下图可直接关注

玩蛇网Python新手QQ群,欢迎加入: ① 240764603 玩蛇网Python新手群
文章发布日期:2016-01-04 21:36 玩蛇网 www.iplaypython.com

评论列表(网友评论仅供网友表达个人看法,并不表明本站同意其观点或证实其描述)
相关文章推荐
别人正在看
特别推荐
去顶部去底部