大家好,今天小编关注到一个比较有的话题,就是关于python语言判断质数的问题,于是小编就整理了2个相关介绍Python语言判断质数的解答,让我们一起看看吧。
python素数判断方法?
mport timeit from math import sqrt def isPrimes1(n): if n <= 1: return False for i in range(2, int(sqrt(n) + 1)): if n % i == 0: return False return True def isPrimes2(n): if n > 1: if n == 2: return True if n % 2 == 0: return False for x in range(3, int(sqrt(n) + 1), 2): if n % x == 0: return False return True return False print(timeit.timeit("isPrimes1(100)", setup="from chapter01 import isPrimes1", number=10000)) print(timeit.timeit("isPrimes2(100)", setup="from chapter01 import isPrimes2", number=10000))
首先,判断该数是否小于2,若小于2,则不是素数。
然后,从2开始,逐个除以小于该数的所有数,若能整除,则不是素数。若不能整除,直到除数大于该数的平方根,那么该数就是素数。这是因为如果一个数可以被大于它平方根的数整除,那么也一定可以被小于它平方根的数整除。这种方法可以有效地判断一个数是否为素数。
1到100是质数的有哪些用编程表示?
在1到100之间,质数包括2、3、5、7、11、13、17、19、23、29、31、37、41、43、47和53。可以用编程语言如Python来输出这些质数,示例代码如下:
```python
for num in range(2, 101):
if num > 1 and any(num % i == 0 for i in range(2, num)):
continue
print(num)
```
这段代码会输出从2到100的所有质数。
程序及解释如下:
首先判断素数的算法:用一个数分别去除以2到sqrt(这个数),如果能被整除, 则表明此数不是素数,反之是素数。
则有如下程序
{ int m,k,i;
for(m=1;m<=100;m=m+2) //m=m+2,因为偶数都不是素数,不用考虑,所以每次m+2.
{ k=sqrt(m) //先求这个数的平方跟
for(i=2;i<=k;i++) //然后用i(从2到k,即m的平方跟)去除m,
if(m%i==0) break; //如果能被整除, 则不是素数,break
if(i>=k+1) pritnf("%d",m); //如果i>k+1,则说明没有数能整除m.则m是素数

到此,以上就是小编对于python语言判断质数的问题就介绍到这了,希望介绍关于python语言判断质数的2点解答对大家有用。