python质数如何判断


本文摘自php中文网,作者coldplay.xixi,侵删。

python质数判断的方法:首先运用python的数学函数;然后单行程序扫描素数,代码为【[ p for p in range(2, N) if 0 not in [ p% d for d in range(2,int(sqrt(p)】。

本教程操作环境:windows7系统、python3.9版,DELL G3电脑。

python质数判断的方法:

1、运用python的数学函数

1

2

3

4

5

6

7

8

9

import math

  

def isPrime(n):

  if n <= 1:

  return False

  for i in range(2, int(math.sqrt(n)) + 1):

  if n % i == 0:

    return False

  return True

2、单行程序扫描素数

1

2

3

from math import 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模块

1

2

3

4

5

6

7

8

9

from itertools import count

def isPrime(n): www.jb51.net

  if n <= 1:

    return False

  for i in count(2):

    if i * i > n:

      return True

    if n % i == 0:

      return False

3、不使用模块的两种方法

方法1:

1

2

3

4

5

6

7

8

9

def isPrime(n):

  if n <= 1:

    return False

  i = 2

  while i*i <= n:

    if n % i == 0:

      return False

    i += 1

  return True

方法2:

1

2

3

4

5

6

7

8

9

10

11

12

13

def isPrime(n):

  if n <= 1:

    return False

  if n == 2:

    return True

  if n % 2 == 0:

    return False

  i = 3

  while i * i <= n:

    if n % i == 0:

      return False

    i += 2

  return True

eg:求出20001到40001之间的质数(素数)

既然只能被1或者自己整出,那说明只有2次余数为0的时候,代码如下:

1

2

3

4

5

6

7

8

9

10

11

12

#!/usr/bin/python

  

L1=[]

for x in xrange(20001,40001):

 n = 0

 for y in xrange(1,x+1):

 if x % y == 0:

  n = n + 1

 if n == 2 :

 print x

 L1.append(x)

print L1

结果如下:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

20011

20021

20023

20029

20047

20051

20063

20071

20089

20101

20107

20113

20117

20123

20129

20143

20147

20149

20161

20173

….

相关免费学习推荐:python视频教程

以上就是python质数如何判断的详细内容,更多文章请关注木庄网络博客!!

相关阅读 >>

Python怎么print出共轭复数

讲解Python 中删除文件的几种方法

Python绘制折线图和散点图的详细方法介绍(代码示例)

Python线程下timer对象、lock对象和rlock对象的简单介绍

Python适合网页编程吗

Python正则表达式之中的findall函数是什么?

Python常用函数有哪些

Python怎么把字符串换成元组

Python 快速使用 rest api

Python函数之complex()函数

更多相关阅读请进入《Python》频道 >>




打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...