当前位置: 首页 > article >正文

头歌python:多进程和多线程

第1关:使用进程池统计指定范围内的素数个数

本关任务:编写程序,使用进程池统计指定范围内的素数个数。

平台会对你编写的代码进行测试:

测试输入: 2000 预期输出: 303

测试输入: 5000 预期输出: 669

import multiprocessing
import math

def is_prime(m):
    """
    判断一个数m是不是素数
    :param m: 正整数
    """
    #        请在此处添加代码       #
    # *************begin************#
    if m<=1:
        return False
    for j in range(2,int(math.sqrt(m))+1):
        if m%j==0:
            return False
    return True
    # **************end*************#  

def main(n):
    """
    判断0~n之间素数的个数
    :param m: 正整数
    """    
    #        请在此处添加代码       #
    # *************begin************#
    pools=multiprocessing.Pool(5)
    print(sum(pools.map(is_prime,range(n))))
    # **************end*************#
    
if __name__ == '__main__':
    n = int(input())
    main(n)

第2关:使用ProcessPoolExecutor统计指定范围内的素数个数

本关任务:编写程序,使用ProcessPoolExecutor并发统计指定范围内的素数个数

编程要求

根据提示,在右侧编辑器补充代码,输出指定范围内素数个数。

测试说明

平台会对你编写的代码进行测试:

测试输入: 2000 预期输出: 303

测试输入: 5000 预期输出: 669

import concurrent.futures
import math

def is_prime(m):
    """
    判断一个数m是不是素数
    :param m: 正整数
    """
    #        请在此处添加代码       #
    # *************begin************#
    if m<=1:
        return False
    for j in range(2,int(math.sqrt(m))+1):
        if m%j==0:
            return False
    return True
    # **************end*************#  

def main(n):
    """
    判断0~n之间素数的个数
    :param m: 正整数
    """    
    #        请在此处添加代码       #
    # *************begin************#
    with concurrent.futures.ProcessPoolExecutor() as pool:
        print(sum(pool.map(is_prime,range(n))))
    # **************end*************#
    
if __name__ == '__main__':
    n = int(input())
    main(n)


http://www.kler.cn/a/460331.html

相关文章:

  • Spark Runtime Filter
  • 免登录游客卡密发放系统PHP网站源码
  • C++ 基础思维导图(一)
  • MySQL有哪些锁?
  • windows下vscode使用msvc编译器出现中文乱码
  • C# OpenCV机器视觉:目标跟踪
  • 年会头投票小游戏
  • 强化学习(1)
  • filament的材质系统
  • io多路复用, select, poll, epoll
  • 计算机因进程结束导致白屏
  • MySQL的多表查询与事务
  • node.js之---EventEmitter 类
  • 数据结构(哈希表)
  • 如何在TikTok上成功推广国际品牌?
  • HTML——20 自定义属性
  • 改进爬山算法之七:动态邻域爬山法(Dynamic Neighborhood Hill Climbing,DNHC)
  • 【项目实战】Apache JMeter HTTP 接口测试
  • CP AUTOSAR标准之FlexRayDriver(AUTOSAR_SWS_FlexRayDriver)(更新中……)
  • ROS2+OpenCV综合应用--9. AprilTag标签码识别
  • 深度学习中的迁移学习:如何利用现有模型加速训练?
  • Rust语言的数据库编程
  • 按照人们阅读Excel习惯来格式化BigDecimal
  • 头歌实训数据结构与算法-二叉树及其应用(第9关:二叉树的顺序存储及基本操作)
  • 云电脑市场正在爆发!2025新风口出现了?
  • 【QT】QT 的窗口坐标 信号与槽