企业管理系统定制开发Python快速判断素数方法

代码

不废话,上代码:

def IsPrime(n):    # 2, 3 单独处理    if n == 2 or n == 3:        return True    # 不在 6 企业管理系统定制开发的倍数两侧的不是素数    if n % 6 != 1 and n % 6 != 5:        return False    # 在 6 的倍数两侧的不一定是素数    for i in range(5, int(n ** 0.5) + 1, 6):        # i 的步长可以放大到 6        if n % i == 0 or n % (i + 2) == 0:            return False    return True
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13

对比

传统的函数如下:

def IsPrime1(n):      if n <= 1:          return False     for i in range(2, int(n ** 0.5) + 1):          if n % i == 0:              return False     return True
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

运行两个函数判断素数,得到其运行时间分别如下:

numberIsPrimeIsPrime1
39.5367431640625e-078.58306884765625e-06
41.1920928955078125e-063.0994415283203125e-06
52.384185791015625e-061.430511474609375e-06
71.6689300537109375e-061.1920928955078125e-06
1007.152557373046875e-071.6689300537109375e-06
100007.152557373046875e-071.6689300537109375e-06
1000000004.76837158203125e-072.384185791015625e-06

可以看到总体上第一个判定函数是要快很多的,尤其对于大素数的判定。

网站建设定制开发 软件系统开发定制 定制软件开发 软件开发定制 定制app开发 app开发定制 app开发定制公司 电商商城定制开发 定制小程序开发 定制开发小程序 客户管理系统开发定制 定制网站 定制开发 crm开发定制 开发公司 小程序开发定制 定制软件 收款定制开发 企业网站定制开发 定制化开发 android系统定制开发 定制小程序开发费用 定制设计 专注app软件定制开发 软件开发定制定制 知名网站建设定制 软件定制开发供应商 应用系统定制开发 软件系统定制开发 企业管理系统定制开发 系统定制开发