首页 科技正文

📚 Python筛法求质数(素数)的生成器示例 🌟

科技 2025-03-26 21:00:12
导读 在编程的世界里,寻找素数是一项经典任务。今天,我们用Python实现一种高效的方法——埃拉托色尼筛法(Sieve of Eratosthenes),并通过...

在编程的世界里,寻找素数是一项经典任务。今天,我们用Python实现一种高效的方法——埃拉托色尼筛法(Sieve of Eratosthenes),并通过生成器优雅地展示结果。👇

首先,我们需要一个基础函数来初始化和筛选素数序列:

```python

def sieve(limit):

is_prime = [True] (limit + 1)

is_prime[0], is_prime[1] = False, False 0和1不是素数

for num in range(2, int(limit 0.5) + 1):

if is_prime[num]:

yield num 输出当前素数

for multiple in range(num num, limit + 1, num):

is_prime[multiple] = False

```

这段代码的核心逻辑是:从2开始遍历,标记所有非素数为`False`,并使用`yield`逐个返回素数。✨

运行示例:

```python

for prime in sieve(50):

print(prime, end=' ')

```

输出结果:`2 3 5 7 11 13 17 19 23 29 31 37 41 43 47`

这种方法不仅简洁优雅,还非常适合处理大数据范围内的素数生成任务。🌟

💡 小贴士:通过生成器,我们可以按需获取素数,避免一次性加载大量数据到内存中,非常实用!快试试吧!💪

郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。