Python素数筛选函数
来自 Wikiprompt,自由的提示词百科全书
Python素数筛选函数 一个提示,要求提供一个优化的Python函数,用于从无序整数列表中筛选出质数,且不使用外部库。
提示词内容收藏
🌐
def filter_primes(numbers):
if not numbers:
return []
max_num = max(numbers)
if max_num < 2:
return []
# 使用埃拉托斯特尼筛法生成所有小于等于max_num的素数标记
sieve = [True] * (max_num + 1)
sieve[0] = sieve[1] = False
for i in range(2, int(max_num ** 0.5) + 1):
if sieve[i]:
for j in range(i * i, max_num + 1, i):
sieve[j] = False
# 根据原始列表顺序筛选素数
return [num for num in numbers if num >= 2 and sieve[num]]
用法
此提示词专为 coding 设计。复制上方内容并粘贴到你常用的 AI 工具中。
为获得最佳效果,可将占位符(方括号或大写字母标示)替换为你的具体需求。
讨论
0 条评论