python判断质数的方法,python定义判断素数的函数

  python判断质数的方法,python定义判断素数的函数

  本文用python3编写了一个判断素数的自定义函数。

  工具/材料

  python3.6

  数学模块

  时间模块

  操作方法

  01

  根据素数的定义,写一个粗略的自定义函数:

  定义p(n):

  if str(n)。isdigit()和n1:

  对于范围(2,n-1)中的I:

  如果n%i==0:

  返回False

  返回True

  否则:

  Print(变量错误,请输入大于1的整数。)

  02

  我们先来看看这个函数是否可靠:

  对于范围内的I(36):

  打印第一页第一行)

  好像挺靠谱的。

  03

  让我们看看用这个函数检测8000以内的所有质数需要多长时间:

  导入时间

  a=时间.时钟()

  对于范围内的I(28000):

  专业人员(一)

  b=时间.时钟()

  打印(用了%s秒。%(b-a))

  04

  前三万个素数的判别需要2秒以上。

  05

  用这个函数判断2 ^ 100 ^ 45是否是质数最多需要36秒:

  导入时间

  a=时间.时钟()

  i=2**100 45

  专业人员(一)

  b=时间.时钟()

  打印(用了%s秒。%(b-a))

  06

  要写出2 ^ 100 ^ 45的最小质因数,我们必须首先修改自定义函数:

  定义p(n):

  if str(n)。isdigit()和n1:

  对于范围(2,n-1)中的I:

  如果n%i==0:

  打印(一)

  返回False

  返回True

  否则:

  Print(n,变量有误,请输入大于1的整数。)

  然后开始检测:

  导入时间

  a=时间.时钟()

  i=2**100 45

  印刷(第一页)

  b=时间.时钟()

  打印(用了%s秒。%(b-a))

  07

  再次检查:

  印刷品((2**100 45)8691549)

  运行结果等于0,说明2 ^ 100 ^ 45真的不是素数。

  好了,大致内容就这些,(完)

  如果一个素数很大,用本文的方法判断要花很多时间。因此,本文给出的自定义函数还有待改进。

  给定n ^ 2这个数,如果用不大于n的素数来检验,无疑会节省很多时间,但是,还有一个问题,就是我们需要事先给定所有小于n的素数。并且检测所有小于n的质数将是耗时的。我们来对比一下怎么写代码。

  声明:本文观点仅代表作者本人。天晴信息网是一个信息发布平台,只提供信息存储空间服务。

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: