python素数判断时间复杂度最短
时间: 2023-11-25 21:51:49 浏览: 159
以下是两种Python素数判断的方法,其中第二种方法的时间复杂度最短:
1.暴力枚举法
```python
def is_prime(num):
if num < 2:
return False
for i in range(2, num):
if num % i == 0:
return False
return True
```
2.优化后的方法
```python
import math
def is_prime(num):
if num < 2:
return False
for i in range(2, int(math.sqrt(num))+1):
if num % i == 0:
return False
return True
```
第二种方法在判断素数时,只需要枚举到num的平方根即可,因为如果num不是素数,那么它一定可以分解成两个数的乘积,其中一个数小于等于它的平方根,另一个数大于等于它的平方根。因此,只需要枚举到平方根即可,这样可以减少循环次数,从而提高效率。
阅读全文