素数的判断方法Python,Python 素数判断

  素数的判断方法Python,Python 素数判断

  本文主要介绍用Python判断素数(素数)的简单方法。经常用于科学计算的Python可以轻松处理这样的小问题。_-有需要的朋友可以参考一下。

  质数也叫质数。在大于1的自然数中,除了1和整数本身之外不能被其他自然数整除的数。它在素数理论中起着重要的作用。大于1但不是质数的数叫做合数。1和0既不是质数,也不是复数。素数是与合数相对的两个概念,构成了数论中最基本的定义之一。基于素数定义的世界级难题有很多,比如哥德巴赫猜想。证明了算术基本定理中每一个大于1的正整数都可以写成素数的乘积,并且这个乘积的形式是唯一的。这个定理的重点是把1排除在素数集合之外。如果认为1是素数,那么这些严格的解释就不得不加上一些限制。前几天偶然有朋友问python如何判断一个质数,网上查了一下,总结了python脚本判断一个数是不是质数的几种方法:

  1.使用python的数学函数

  导入数学

  def isPrime(n):

  如果n=1:

  返回False

  对于i in range(2,int(math.sqrt(n)) 1):

  如果n % i==0:

  返回False

  返回True

  2.一行程序扫描质数

  从数学导入sqrt

  N=100

  [ p for p in range(2,N) if 0 not in [ p% d for d in range(2,int(sqrt(p)) 1)] ]

  使用python的Itertools模块

  从itertools导入计数

  www.gxlcms.com

  如果n=1:

  返回False

  对于我在计数:

  如果我在:

  返回True

  如果n % i==0:

  返回False

  3.不使用模块的两种方法方法1:

  def isPrime(n):

  如果n=1:

  返回False

  i=2

  而i*i=n:

  如果n % i==0:

  返回False

  i=1

  返回True

  方法二:

  def isPrime(n):

  如果n=1:

  返回False

  如果n==2:

  返回True

  如果n % 2==0:

  返回False

  i=3

  而i * i=n:

  如果n % i==0:

  返回False

  i=2

  返回True

  例:既然求20001到40001之间的质数(质数)只能用1或自己四舍五入,说明余数为0的时候只有两次。代码如下:

  #!/usr/rdqc/python

  L1=[]

  对于xrange中的x(20001,40001):

  n=0

  对于xrange(1,x 1)中的y:

  如果x % y==0:

  n=n 1

  如果n==2:

  打印x

  L1 .追加(x)

  打印L1

  结果如下:

  20011

  20021

  20023

  20029

  20047

  20051

  20063

  20071

  20089

  20101

  20107

  20113

  20117

  20123

  20129

  20143

  20147

  20149

  20161

  20173

  ….

  更多使用Python判断质数(素数)的简单相关文章请关注PHP中文网!

  这篇技术文章来自互联网。如果您无意侵犯您的权益,请点击此处反馈版权投诉。

  系统来源:php中文网

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

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