【蓝桥杯省赛真题46】python数字币统计 中小学青少年组蓝桥杯比赛 算法思维python编程省赛真题解析

news2024/11/23 12:11:26

目录

python数字币统计

一、题目要求

1、编程实现

2、输入输出

二、算法分析

三、程序编写

四、程序说明

五、运行结果

六、考点分析

七、 推荐资料

1、蓝桥杯比赛

2、考级资料

3、其它资料


python数字币统计

第十四届蓝桥杯青少年组python比赛省赛真题

一、题目要求

(注:input()输入函数的括号中不允许添加任何信息)

1、编程实现

小明收藏了N(2≤N≤25)个数字币,每个数字而上都有一个面值(面值可以重复)。从数字币中任选K(2≤KN)个,有多种选法,请将每次选择的数字而上的面值累加,然后解决以下两个问题。
问题1:累加的和中有多少种不同的结果;
问题2:累加的和中有多少个不同的合数。
例如:N=5,K=3,5个数字币上的面值分别为2、1、4、5、3,任选3个数字币,有10种选法,将每种选法上的面值累加:2+1+4=7、2+1+5=8、2+1+3=6、2+4+5=11、2+4+3=9、2+5+3=10、1+4+5=10、1+4+3=8、1+5+3=9、4+5+3=12。其中累加的和中有7种不同的结果,分别是7、8、6、11、9、10、12,累加的和中有5个不同的合数,分别是8、6、9、10、12。

提示信息:
合数:合数指自然数中除了能被1和本身整除外,还能被其它正整数整除的数。
例如4,4除了能被1和4整除,还可以被2整除。

2、输入输出

输入描述:第一行输入一个正整数N(2≤N≤25),表示数字币的个数
第二行输入N个正整数(1≤正整数≤1000),表示数字币上的面值,正整数之间以一个英文逗号隔开第三行输入一个正整数K(2≤K≤N),表示所要选取的数字币个数

输出描述:输出两个整数,分别表示累加的和中不同结果的个数以及累加的结果中不同合数的个数,两个整数之间以一个英文逗号隔开

输入样例:

5
2,1,4,5,3
3

输出样例:

7,5

二、算法分析

  1. 题目相对而言有一定难度,难点1在于数字的排列组合
  2. 从给定数字n中选取k个数进行组合可以使用 itertools库中的combinations函数
  3. 难点2在于每种组合的求和结果有可能是相同的,题目要求是不同的求和结果
  4. 这点可以通过集合set进行实现,set中保留的都是唯一值
  5. 难点3在于如何判断一个数是合数,可以换个思路,判断一个数是素数
  6. 素数的反面就是合数,逐个遍历集合set里面的内容然后判断是否是合数即可

三、程序编写

# 导入itertools库中的combinations函数
from itertools import combinations
# 定义一个函数,用于检查一个整数是否为质数
def isPrime(k):
    if k<2:
        return False
    for i in range(2,k):
        if k%i == 0:
            return False
    return True

n = int(input())
ls = list(map(int,input().split(',')))
k = int(input())

# 用combinations函数生成ls中长度为k的所有子集组合,并计算它们的和
# 并将不同的和存储在一个set中(set中的元素都是唯一的)
s = set()
for i in combinations(ls,k):
    s.add(sum(i))
    
res = 0
for i in s:
    if not isPrime(i):
        res += 1
print('{},{}'.format(len(s),res))

四、程序说明

  1. 首先导入了itertools模块中的combinations函数,用于生成给定列表中的所有长度为k的子集组合。
  2. 定义了一个函数isPrime,用于检查一个整数是否为质数。如果小于2,则返回False;否则,依次判断从2到k-1的数字是否能整除k,如果能整除则返回False,否则返回True。
  3. 通过input函数获取用户输入的整数n,表示列表ls的长度。
  4. 通过input函数获取用户输入的整数列表ls,并使用split(',')将输入的字符串按逗号分割,并使用map函数将分割后的字符串转换为整数并存储在列表中。
  5. 通过input函数获取用户输入的整数k,表示需要生成的子集组合的长度。
  6. 创建一个空的集合s,用于存储不同的子集组合的和。
  7. 使用combinations函数生成列表ls中长度为k的所有子集组合,并使用sum函数计算每个组合的和,并将和添加到集合s中。
  8. 创建一个变量res,用于存储不是质数的和的数量,初始值为0。
  9. 遍历集合s中的每个元素,如果该元素不是质数,则将res加1。
  10. 使用format函数将len(s)和res格式化成字符串,并用print函数输出。

五、运行结果

5
1,2,3,4,5
3

7,5

六、考点分析

难度级别:中等,这题相对而言还是有一点难度,具体主要考查如下:

  1. 学会分析题目,找到解题思路
  2. 学会简单的算法知识的应用
  3. 学会combinations函数的使用,返回指定个数的子集组合
  4. 学会set的使用,set是一个无序且不重复的集合数据类型。它类似于数学中的集合。以及add方法的使用
  5. input函数:Python 中 input() 函数接受一个标准输入数据,返回为 string 类型。
  6. int函数:强制将传入对象转换成整数类型
  7. split函数:按照指定的分隔符进行分割
  8. map函数:将指定的对象按照指定的函数进行迭代,在这里是将时分秒字符串类型数据按int整数类型数字返回输出(相当于多个变量强制类型转化)
  9. list函数:强制将参数转化成列表对象
  10. 学会列表的相关操作:列表声明、取数、遍历等等
  11. 学会for循环的使用:for循环可以遍历任何有序的项及列表元素等等。
  12. range函数:rang(a,b),循环的时候是不包括b的,所以我们这个案例中要转变一下,要想包含b,就应该写成range(a,b+1)
  13. 学会if...条件判断语句的使用:满足条件才执行相应的程序
  14. 充分掌握for循环、列表、集合和自定义函数等相关操作的使用

PS:方式方法有多种,小朋友们只要能够达到题目要求即可!

七、 推荐资料

  • 所有考级比赛学习相关资料合集【推荐收藏】

1、蓝桥杯比赛

  • 蓝桥杯python选拔赛真题详解

  • 蓝桥杯python省赛真题详解

  • 蓝桥杯python国赛真题详解

  • 历届蓝桥杯科技素养计算思维真题解析

2、考级资料

  • python等级一级真题解析【电子学会】

  • python等级二级真题解析【电子学会】

  • python等级三级真题解析【电子学会】

  • python等级四级真题解析【电子学会】

3、其它资料

  • 初学python100例

  • 历届蓝桥杯scratch国赛真题解析
  • 历届蓝桥杯scratch省赛真题解析
  • 历届蓝桥杯scratch STEMA选拔赛真题解析
  • 历届蓝桥杯科技素养计算思维真题解析
  • 画图-scratch编程考级99图
  • 电子学会历年scratch等级考试一级真题解析
  • 电子学会历年scratch等级考试二级真题解析
  • 电子学会历年scratch等级考试三级真题解析
  • 电子学会历年scratch等级考试四级真题解析
  • 零基础学习scratch3.0【入门教学 免费】
  • 零基础学习scratch3.0【视频教程 114节 免费】

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1874291.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Autoware 学习

Autoware不同版本介绍 Autoware官方说明文档&#xff1a;https://autowarefoundation.github.io/autoware-documentation/main 使用ROS2和Autoware的自动驾驶汽车免费在线进阶课 译 https://bbs.huaweicloud.com/blogs/detail/283058 Autoware.AI 第一个基于 ROS 1 发布的 Au…

linux的CP指令

实现 CP 指令 src 源文件 des 目标文件 执行流程&#xff1a; 打开源文件&#xff08; src &#xff09; open 打开目标文件&#xff08; des &#xff09; open 写入目标文件 write 读取 src 文件到缓存数组 read 关闭目标文件和源文件 close ./a.out src.c de…

用Vue3和Plotly.js打造一个交互式3D图

本文由ScriptEcho平台提供技术支持 项目地址&#xff1a;传送门 3D交互式曲面图绘制 应用场景 本代码适用于需要绘制3D交互式曲面图的场景&#xff0c;如科学数据可视化、地理数据展示、医疗成像等领域。 基本功能 此代码基于Plotly.js库&#xff0c;实现了以下基本功能&…

如何打造安全DNS以保障业务可用?一文解读

DNS自1987年被实施以来&#xff0c;已成为网络通信中最重要的核心基础设施&#xff0c;同时也是企业对外提供数字服务的关键。没有正常安全的DNS服务&#xff0c;企业经营也就无从谈起。在DNS攻击逐年上升且容易被忽略的现代应用时代&#xff0c;如何打造安全DNS&#xff1f;本…

嘉立创学习

1.两个设置&#xff0c;一般用左边那个 2.焊盘分类 基本焊盘 热风盘&#xff1a;也叫花焊盘&#xff08;负片&#xff09; 隔离焊盘&#xff1a;外面那圈黑色&#xff0c;用作隔离&#xff08;负片&#xff09; 钢网层&#xff1a;&#xff08;锡膏&#xff09; 阻焊层&…

达索系统智能制造巡展路演重庆站圆满结束

2024 年 6 月 21 日&#xff0c;达索系统智能制造巡展路演重庆站成功举办。 会议背景 近年&#xff0c;在人工智能、数字孪生&#xff0c;物联网等新兴技术的推动下&#xff0c;智能制造已然成为中国制造业转型升级的“新质生产力”&#xff0c;它让传统制造业脱胎换骨的同时…

vue2axios的使用

1.安装axios npm i axios 2.配置代理服务器 1.在config.js中配置单个代理服务器 // 开启代理服务器 需要重新启动项目devServer: {proxy: http://localhost:5000}配置简单&#xff0c;请求资源时直接发给前端&#xff08;8080&#xff09;即可&#xff1b;但不能配置多个代理…

经验分享之会员 SaaS 系统

前言 2018年&#xff0c;这是不平凡的一年&#xff1b;互联网行业的中台战略、会员经济等模式如火如荼&#xff0c;同时也逐渐地走入我们公司每个人的视野。在南海集团的战略规划背景下&#xff0c;当时我所在的公司作为集团的研发中心&#xff0c;承担了对会员 SaaS 系统的建…

【漏洞复现】金和OA 任意文件上传

【产品介绍】 金和OA协同办公管理系统C6软件&#xff08;简称金和OA&#xff09;&#xff0c;本着简单、适用、高效的原则&#xff0c;贴合企事业单位的实际需求&#xff0c;实行通用化、标准化、智能化、人性化的产品设计&#xff0c;充分体现企事业单位规范管理、提高办公效…

人脑计算机技术与Neuroplatform:未来计算的革命性进展

引言 想象一下&#xff0c;你在某个清晨醒来&#xff0c;准备开始一天的工作&#xff0c;而实际上你的大脑正作为一台生物计算机的核心&#xff0c;处理着大量复杂的信息。这并非科幻电影的情节&#xff0c;而是人脑计算机技术即将带来的现实。本文将深入探讨FinalSpark公司的…

探索PHP中的函数

在PHP编程中&#xff0c;函数是一个非常重要的概念。函数可以帮助我们将代码组织成可重复使用的块&#xff0c;从而提高代码的可读性和可维护性。本文将介绍PHP中的函数&#xff0c;包括函数的定义、参数传递、返回值、内置函数和自定义函数等内容&#xff0c;帮助读者更好地理…

ONLYOFFICE 8.1 桌面编辑器测评:引领数字化办公新潮流

目录 前言 下载安装 新功能概述 1.PDF 编辑器的改进 2. 演示文稿中的幻灯片版式 3.语言支持的改进 4. 隐藏“连接到云”板块 5. 页面颜色设置和配色方案 界面设计&#xff1a;简洁大方&#xff0c;操作便捷 性能评测&#xff1a;稳定流畅&#xff0c;高效运行 办公环…

算法题--华为od机试考试(整数对最小和、素数之积、找城市)

目录 整数对最小和 题目描述 注意 输出描述 示例1 输入 输出 说明 解析 答案 素数之积 题目描述 输入描述 输出描述 示例1 输入 输出 说明 示例2 输入 输出 说明 解析 找城市 题目描述 输入 输出 示例1 输入 输出 示例2 输入 输出 说明 解析…

Paragon NTFS与Tuxera NTFS有何区别 Mac NTFS 磁盘读写工具选哪个好

macOS系统虽然以稳定、安全系数高等优点著称&#xff0c;但因其封闭性&#xff0c;不能对NTFS格式磁盘写入数据常被人们诟病。优质的解决方案是使用磁盘管理软件Paragon NTFS for Mac&#xff08;点击获取激活码&#xff09;和Tuxera NTFS&#xff08;点击获取激活码&#xff0…

基于Java的蛋糕预定系统【附源码+LW】

摘 要 当今社会进入了科技进步、经济社会快速发展的新时代。国际信息和学术交流也不断加强&#xff0c;计算机技术对经济社会发展和人民生活改善的影响也日益突出&#xff0c;人类的生存和思考方式也产生了变化。传统购物方式采取了人工的管理方法&#xff0c;但这种管理方法存…

FreeRTOS信号量和互斥量

信息量 简介 信号量是一种解决同步问题的机制&#xff0c;可以实现对共享资源的有序访问。 前面介绍的队列(queue)可以用于传输数据&#xff1a;在任务之间、任务和中断之间。 消息队列用于传输多个数据&#xff0c;但是有时候我们只需要传递状态&#xff0c;这个状态值需要用…

关于bim数字孪生threejs中使用glb文件大小优化及加载慢的说明(笔记)

在用three.js开发的时候发现&#xff0c;稍微大一点的glb或者fbx文件加载的时候很慢很卡 一直不理解这个卡和慢取决于哪些条件&#xff0c;下面来详细说一下 1、关于模型 不是越大加载越卡顿&#xff0c;而是却决于三角面数量&#xff0c;当累计三角面数量达到3000万时会出现明…

基于SSM的大学生家教管理系统【附源码+LW】

摘 要 现代经济快节奏发展以及不断完善升级的信息化技术&#xff0c;让传统数据信息的管理升级为软件存储&#xff0c;归纳&#xff0c;集中处理数据信息的管理方式。本大学生家教平台就是在这样的大环境下诞生&#xff0c;其可以帮助管理者在短时间内处理完毕庞大的数据信息&a…

Linux随记(十)

一、harborv2.6.4 --> harbor-offline-installer-v2.11.0-rc3 --> v2.9.4 – 随记 漏洞信息&#xff1a; CVE-2023-20902timing condition in Harbor 2.6.x and below, Harbor 2.7.2 and below, Harbor 2.8.2 and below, and Harbor 1.10.17 and below allows an atta…

shell编程实战

1.1 shell脚本编程的步骤 需求分析&#xff1a;确定功能 命令测试&#xff1a;确定脚本需要的关键命令 编辑脚本 测试脚本 1.2 操作 1.2.1 实验一 1.需求描述 (1)统计网络中的服务器的mac 注&#xff1a;ARP&#xff0c;地址解析协议 注&#xff1a; (2)检查哪些主机开…