python判断质数(python质数的判断方法)

发布时间:2025-12-11 02:22:45 浏览次数:2

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

python质数判断的方法:

1、运用python的数学函数

importmathdefisPrime(n):ifn<=1:returnFalseforiinrange(2,int(math.sqrt(n))+1):ifn%i==0:returnFalsereturnTrue

2、单行程序扫描素数

frommathimportsqrtN=100[pforpinrange(2,N)if0notin[p%dfordinrange(2,int(sqrt(p))+1)]]

运用python的itertools模块

fromitertoolsimportcountdefisPrime(n):www.jb51.netifn<=1:returnFalseforiincount(2):ifi*i>n:returnTrueifn%i==0:returnFalse

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

方法1:

defisPrime(n):ifn<=1:returnFalsei=2whilei*i<=n:ifn%i==0:returnFalsei+=1returnTrue

方法2:

defisPrime(n):ifn<=1:returnFalseifn==2:returnTrueifn%2==0:returnFalsei=3whilei*i<=n:ifn%i==0:returnFalsei+=2returnTrue

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

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

#!/usr/bin/pythonL1=[]forxinxrange(20001,40001):n=0foryinxrange(1,x+1):ifx%y==0:n=n+1ifn==2:printxL1.append(x)printL1

结果如下:

2001120021200232002920047200512006320071200892010120107201132011720123201292014320147201492016120173….
python判断质数
需要做网站?需要网络推广?欢迎咨询客户经理 13272073477