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的数学函数
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、单行程序扫描素数
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模块
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:
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:
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的时候,代码如下:
#!/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
结果如下:
2001120021200232002920047200512006320071200892010120107201132011720123201292014320147201492016120173….
相关免费学习推荐:python视频教程
以上就是python质数如何判断的详细内容。