You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用joblib判断整数是否为素数,素数则计算其平方?

使用joblib批量处理素数判断与平方计算

功能实现

批量判断2到99999之间的整数是否为素数,若是素数则返回其平方值,非素数则返回None,借助joblib实现并行计算以提升处理速度。

完整代码

import joblib

def is_prime(n):
    for i in range(2, n):
        if n % i == 0:
            return False
    return True

def square_if_prime(n):
    if is_prime(n):
        return n * n
    return None

# 开启4个并行任务处理批量整数
primes = joblib.Parallel(n_jobs=4)(joblib.delayed(square_if_prime)(n) for n in range(2, 100000))
# 过滤掉非素数对应的None值
primes = [prime for prime in primes if prime]
# 输出前10个素数的平方值
print(primes[:10])

代码说明

  • is_prime(n):基础素数判断函数,通过遍历2到n-1的整数,检查是否存在能整除n的数来判定素数。
  • square_if_prime(n):逻辑处理函数,调用素数判断结果,返回素数的平方或None。
  • joblib.Parallel(n_jobs=4):设置4个并行工作进程,对批量整数进行并行处理,相比单进程能大幅缩短处理大数量级整数的时间。
  • 最后通过列表推导式过滤掉None,只保留有效素数平方值。

内容的提问来源于stack exchange,提问作者vanam saikiran

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.13 10:01:16