Python计算素数的函数
时间: 2024-11-09 11:28:32 浏览: 13
Python中有多种方法可以编写计算素数的函数,这里我会介绍一种常见的简单算法,即“埃拉托斯特尼筛法”(Sieve of Eratosthenes)。这个方法适合用于查找一定范围内的所有素数。
```python
def is_prime(n):
if n <= 1:
return False
elif n == 2:
return True
elif n % 2 == 0:
return False
i = 3
while i * i <= n:
if n % i == 0:
return False
i += 2 # 跳过偶数,因为除了2以外,素数都是奇数
return True
def primes_sieve(limit):
primes = [True] * (limit + 1)
primes[0], primes[1] = False, False
for num in range(2, int(limit**0.5) + 1):
if primes[num]:
for multiple in range(num*num, limit + 1, num):
primes[multiple] = False
return [i for i, prime in enumerate(primes) if prime]
# 使用示例
print(primes_sieve(30)) # 输出:[2, 3, 5, 7, 11, 13, 17, 19, 23, 29]
```
阅读全文