python定义函数筛质数
时间: 2023-08-29 22:12:49 浏览: 39
以下是一个python定义函数筛质数的示例代码:
```python
def sieve_of_eratosthenes(n):
# 创建长度为n+1的数组,并将其全部赋值为True
primes = [True] * (n+1)
# 0和1不是质数,将其标记为False
primes[0] = primes[1] = False
# 从2开始遍历数组,如果当前数字是质数,则将其倍数标记为False
for i in range(2, int(n**0.5)+1):
if primes[i]:
for j in range(i*i, n+1, i):
primes[j] = False
# 返回所有的质数
return [i for i in range(2, n+1) if primes[i]]
# 调用函数,筛出100以内的质数
print(sieve_of_eratosthenes(100))
```
该函数使用了埃拉托斯特尼筛法,将所有小于等于n的质数筛选出来,并返回一个列表。代码中先创建一个长度为n+1的布尔数组,将其全部赋值为True,然后从2开始遍历数组,如果当前数字是质数,则将其倍数标记为False。最后返回所有的质数。
相关问题
python定义函数求素数
以下是一个 Python 定义函数求素数的示例代码:
```python
def is_prime(num):
"""
判断一个数是否为素数
"""
if num <= 1:
return False
for i in range(2, int(num ** 0.5) + 1):
if num % i == 0:
return False
return True
def get_primes(n):
"""
返回小于等于 n 的所有素数
"""
primes = []
for i in range(2, n + 1):
if is_prime(i):
primes.append(i)
return primes
```
第一个函数 `is_prime(num)` 接受一个整数参数 `num`,判断这个数是否为素数,返回一个布尔值 True 或 False。
第二个函数 `get_primes(n)` 接受一个整数参数 `n`,返回小于等于 `n` 的所有素数,以一个列表形式返回。在函数内部,我们使用一个循环从 2 到 `n` 遍历每个整数,判断它是否为素数,如果是,就将其加入 `primes` 列表中。最后,我们返回 `primes` 列表。
使用示例:
```python
print(get_primes(10)) # [2, 3, 5, 7]
print(get_primes(20)) # [2, 3, 5, 7, 11, 13, 17, 19]
```
python定义函数判断素数
可以使用以下代码定义一个函数,来判断一个数是否为素数:
```python
def is_prime(num):
if num < 2:
return False
for i in range(2, int(num ** 0.5) + 1):
if num % i == 0:
return False
return True
```
函数的参数是要判断的数,函数返回值为布尔值,如果是素数则返回True,否则返回False。
该函数的实现原理是:从2到num开方向下取整的范围内,判断num是否能被整除,如果存在一个数能被整除,则num不是素数,否则num是素数。