python编写一个函数判断一个数是否为素数是则返回yes
时间: 2023-05-31 08:19:31 浏览: 1361
素数进阶 自定义函数判断m-n之间有几个素数.py
### 回答1:
可以使用以下代码实现:
```python
def is_prime(num):
if num < 2:
return "no"
for i in range(2, int(num ** .5) + 1):
if num % i == :
return "no"
return "yes"
```
函数接受一个整数作为参数,如果该数小于2,则返回"no",否则从2到该数的平方根范围内遍历,如果存在一个数能够整除该数,则返回"no",否则返回"yes"。
### 回答2:
判断一个数是否为素数是经典的算法问题,素数是指只能被1和本身整除的正整数。下面是一个用Python编写的函数,用来判断一个数是否为素数,并且返回“yes”,如果是素数,返回“no”,如果不是素数。
def is_prime(n):
if n < 2:
return "no"
for i in range(2, int(n**0.5) + 1):
if n % i == 0:
return "no"
return "yes"
这个函数首先判断数n是否小于2,如果小于2,则不是素数,直接返回“no”。接着用一个for循环,从2到n的平方根开始遍历,如果n能被i整除,说明n不是素数,直接返回“no”。最后,如果循环结束后,没有返回“no”,则说明n是素数,返回“yes”。
这个函数的时间复杂度为O(sqrt(n)),空间复杂度为O(1),有较好的效率。可以用来判断大量的数是否为素数,也可以用来验证某些数学问题中的素数性质。
### 回答3:
素数是只能被 1 和自身整除的正整数。因此,我们可以编写一个函数来判断一个给定的数字是否为素数。
为了检查一个数字是否是素数,我们可以遍历所有小于该数字的正整数,从 2 开始。如果在遍历过程中找到一个能够整除该数字的正整数,那么该数字就不是素数。
因此,我们可以编写如下的函数来判断一个给定数字是否为素数:
```python
def is_prime(n):
if n <= 1: # 检查小于等于1的数字
return False
for i in range(2, n): # 遍历小于n的正整数
if n % i == 0: # 如果n能够被某个正整数整除,那么n不是素数
return False
return True # 如果没有找到能够整除n的正整数,那么n是素数
```
在上面的代码中,我们先检查给定的数字是否小于等于1。如果是,那么该数字不是素数,直接返回False。接着,我们从 2 开始遍历小于该数字的所有正整数。如果在遍历过程中找到了一个能够整除该数字的正整数,那么该数字不是素数,返回False。如果在遍历结束后仍然没有找到能够整除该数字的正整数,那么该数字是素数,返回True。
因此,我们可以使用如下的代码来测试上述函数:
```python
print(is_prime(2)) # True
print(is_prime(3)) # True
print(is_prime(17)) # True
print(is_prime(20)) # False
print(is_prime(1)) # False
```
上述代码会输出每个数字是否为素数。可以看到,只有 2、3、17 三个数字是素数,其他数字都不是素数。
如果我们需要返回字符串“yes”或“no”而不是True或False,只需要稍作修改即可:
```python
def is_prime(n):
if n <= 1:
return "no"
for i in range(2, n):
if n % i == 0:
return "no"
return "yes"
print(is_prime(2)) # yes
print(is_prime(3)) # yes
print(is_prime(17)) # yes
print(is_prime(20)) # no
print(is_prime(1)) # no
```
现在,函数会返回字符串“yes”或“no”,而不是True或False。
阅读全文