编写一个函数,求解小于n的所有素数
时间: 2024-05-12 17:16:05 浏览: 71
好的,我可以回答这个问题。以下是一个Python函数,可以用于找到小于给定数字 n 的所有素数:
```python
def find_primes(n):
# 初始化筛子数组
is_prime = [True] * n
# 0和1不是素数,先设为False
is_prime[0] = False
is_prime[1] = False
# 从2开始枚举质数
for i in range(2, int(n ** 0.5) + 1):
if is_prime[i]:
# 将i的倍数标记为False
for j in range(i * i, n, i):
is_prime[j] = False
# 将所有素数存储在列表中
primes = []
for i in range(2, n):
if is_prime[i]:
primes.append(i)
return primes
```
您可以按如下方式调用此函数:
```python
primes = find_primes(100)
print(primes)
```
输出应该是这样的:
```
[2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73, 79, 83, 89, 97]
```
希望这可以帮助您!
阅读全文