用Python写一个判断是否为素数
时间: 2023-03-26 09:03:42 浏览: 66
您好,以下是回答:
可以使用以下代码判断一个数是否为素数:
```python
def is_prime(n):
if n <= 1:
return False
for i in range(2, int(n**.5)+1):
if n % i == :
return False
return True
```
其中,`n` 为待判断的数,函数返回值为 `True` 表示是素数,`False` 表示不是素数。
相关问题
请用python写一个判断一个数是否为素数
好的,请看下面的代码实现:
```
def is_prime(num):
if num < 2: # 小于2的数都不是素数
return False
for i in range(2, int(num**0.5)+1): # 使用根号优化循环次数,加1是为了使int()向下取整
if num % i == 0:
return False
return True
# 测试
print(is_prime(2)) # True
print(is_prime(3)) # True
print(is_prime(4)) # False
print(is_prime(17)) # True
print(is_prime(50)) # False
```
这个函数使用了一个简单的算法:从2到n-1循环判断一个数是否能被n整除,如果有一个能被整除,那么这个数就不是素数。
不过这个方法的时间复杂度是O(n),如果n很大,判断起来会很慢。更好的方法是只需要判断2到n-1的平方根即可,时间复杂度降到了O(sqrt(n))。
用python判断一个数是否为素数
以下是用Python判断一个数是否为素数的代码:
```python
def is_prime(n):
if n <= 1:
return False
for i in range(2, int(n**0.5)+1):
if n % i == 0:
return False
return True
# 测试
print(is_prime(5)) # True
print(is_prime(12)) # False
print(is_prime(23)) # True
```
首先判断小于等于1的数不是素数,然后从2到n的平方根范围内遍历,如果n能被其中的一个数整除,则n不是素数,返回False,否则n是素数,返回True。
相关推荐
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)