实现一个函数,判断一个数是不是素数。 利用上面实现的函数打印100到200之间的素数。
时间: 2023-05-31 09:18:35 浏览: 320
### 回答1:
实现一个函数,判断一个数是不是素数:
素数是指只能被1和本身整除的正整数。因此,判断一个数是不是素数,只需要从2到这个数的平方根之间的所有整数去除,如果都不能整除,则该数是素数。
代码如下:
```python
def is_prime(num):
if num < 2:
return False
for i in range(2, int(num ** .5) + 1):
if num % i == :
return False
return True
```
利用上面实现的函数打印100到200之间的素数:
```python
for i in range(100, 201):
if is_prime(i):
print(i)
```
输出结果为:
```
101
103
107
109
113
127
131
137
139
149
151
157
163
167
173
179
181
191
193
197
199
```
### 回答2:
判断一个数是不是素数,需要知道什么是素数。素数指在大于1的自然数中,除了1和本身,没有其他因数的数。比如2、3、5、7等就是素数,而4、6、8等就不是素数。
实现一个判断素数的函数可以采用如下的方法:
1. 如果小于2,返回False
2. 如果大于2并且能被2整除,返回False
3. 从3开始,如果能被3到该数的平方根之间的奇数整除,返回False
4. 其他情况返回True
代码实现如下:
```python
import math
def is_prime(n):
if n < 2:
return False
elif n == 2:
return True
elif n % 2 == 0:
return False
else:
for i in range(3, int(math.sqrt(n))+1, 2):
if n % i == 0:
return False
return True
```
利用上面实现的函数打印100到200之间的素数可以采用如下的方法:
```python
for i in range(100, 201):
if is_prime(i):
print(i, end=" ")
```
上述代码使用了range函数生成100到200之间的数,并且使用is_prime函数判断每个数是否为素数,是的话打印出来。这样就可以得到100到200之间的素数。
### 回答3:
判断一个数是不是素数,可以采用试除法。即对于一个数n,从2到n-1依次去除n,若都无法整除,则n是素数。
以下是实现一个判断素数的函数Python代码:
```python
def is_prime(num):
if num < 2: #小于2的数都不是素数
return False
for i in range(2, int(num ** 0.5) + 1):
if num % i == 0:
return False
return True
```
注解:本函数中,使用了Python的平方根函数sqrt(),代码中使用的是它的等价形式,即对数进行了转换。sqrt(num)可以换成num ** 0.5。同时,循环的上限可以限制在num的平方根范围内,大大减少了判断的时间。
接着,利用is_prime()函数,我们可以打印出100到200之间的素数。Python代码如下:
```python
start = 100
end = 200
for num in range(start, end + 1):
if is_prime(num):
print(num, end=" ")
```
注解:本代码中,使用了Python的 range(start, end) 函数,其中起始值为 start,终止值为 end - 1。同时,在每个素数后面加了一个空格,便于观察。
总之,判断素数是一种常用的问题,也是编程入门的必考题之一。学会了判断素数的方法并进行实际编码操作,会对编程入门有很大的帮助。
阅读全文