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

目录

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 Falsefor i in range(2,k):if k%i == 0:return Falsereturn Truen = 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
37,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.mzph.cn/pingmian/37028.shtml

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

相关文章

中国航天:星舰与猛禽发动机数据分析

文章目录 MainReference Main 马斯克坚信&#xff0c;随着星舰的全面投入运营&#xff0c;SpaceX将能够承担地球上主轨道超过99%的载荷质量。这款第三代星舰的起飞推力将跃升至10000吨以上&#xff0c;其有效载荷质量亦将高达200吨以上。 不仅如此&#xff0c;每次发射的成本控…

吊车安全监控:车载监控系统在吊装作业中的应用

在吊装作业中&#xff0c;安全始终是第一位的。然而&#xff0c;由于吊车臂长、视野受限以及操作过程中的不确定性&#xff0c;事故风险总是存在的。为了解决这些问题&#xff0c;现代吊车普遍采用了摄像头监控系统&#xff0c;通过实时传输的图像&#xff0c;为司机提供全方位…

【鸿蒙学习笔记】数据类型

官方文档&#xff1a;ArkTS语言介绍 目录标题 声明变量声明常量数据类型 缺&#xff1a;byte charNumber类型 short int long float doubleBoolean类型 booleanString类型Void类型Object类型Array类型Enum类型Union类型Aliases类型 [代码总结] 声明变量 let hi: string hel…

【逆运动学】六轴机器人运动学逆解上位机控制

六轴机器人逆运动学上位机控制 最终效果 通过开发的上位机软件&#xff0c;实现对机械臂末端的精准操控。该软件接收输入的坐标与角度参数&#xff0c;经过算法处理计算出机械臂各关节轴的目标角度。随后&#xff0c;这些角度值被转换为对应的脉冲宽度调制&#xff08;PWM&am…

编码遵循五大设计原则创建出更加健壮、可维护和可扩展的软件系统

一、单一职责原则&#xff08;SRP&#xff09; * 定义&#xff1a;一个类应该只有一个引起它变化的原因。 * 解释&#xff1a;意味着一个类应该专注于做一件事情&#xff0c;当需求发生变化时&#xff0c;只影响到一个类。这有助于降低类间的耦合&#xff0c;使得代码更易于理…

MinGW和Cygwin的区别

介绍 MinGW和Cygwin都是windows平台下用于编译c/c代码&#xff0c; Cygwin 目的为windows平台提供类Unix环境&#xff0c;让运行在类Unix环境中的程序代码可以在windows下编译成功。cygwin提供了抽象层dll&#xff0c; 可用于将部分POSIX转换为Windows API调用&#xff0c;目…

telegram mini APP或游戏开发之bot设置

无意中发现telegram上居然也能发布小程序和游戏了,感觉发现了新大陆一样,自己好玩试了下。 参考教程 要在telegram上开发一个mini App或者game,创建一个专属于你的机器人就必不可少了。 创建bot机器人 在telegram上搜索@BotFather或者点击该这里BotFather。 如下图: 进…

一款轻量级的WPF UI库---Adonis UI

Adonis UI适用于 WPF 应用程序的轻型 UI 工具包,提供经典但增强的 Windows 视觉对象 组件内容 几乎所有 WPF 控件的模板的默认样式为方便起见,可根据需要使用两种配色方案(浅色和深色),也可用于自定义样式支持在运行时更改配色方案支持其他自定义配色方案提供水印等功能的…

查看VUE中安装包依赖的版本号

查看VUE中安装包依赖的版本号 全部依赖包版本查看某个依赖的例&#xff1a;查看stompjs 应用命令npm ls stompjs 全部依赖包版本 使用npm命令 使用 npm ls 命令可以列出项目中所有已安装的依赖包及其版本。 使用 npm list --depth1 命令可以列出项目中直接依赖的包及其版本&a…

Android中使用startActivityForResult启动活动

Android中使用startActivityForResult启动活动 大家好&#xff0c;我是免费搭建查券返利机器人省钱赚佣金就用微赚淘客系统3.0的小编&#xff0c;也是冬天不穿秋裤&#xff0c;天冷也要风度的程序猿&#xff01;在本文中&#xff0c;我们将深入探讨Android开发中使用startActi…

线程版服务器实现(pthread_server)

用到的所有方法所需要的参数可以在wrap.c文件中查询&#xff0c;wrap中找不到的直接通过man手册查询 1.首先介绍一下我自己写的包裹文件&#xff0c;里面有各种在可能要用到的方法 wrap.c: #include <stdlib.h> #include <stdio.h> #include <unistd.h> #…

第4章 客户端-客户端案例分析

1 Redis内存陡增 1.1.现象 服务端现象&#xff1a;Redis主节点内存陡增&#xff0c;几乎用满maxmemory&#xff0c;而从节点内存并没有变化&#xff08;正常情况下主从节点内存使用量基本相同&#xff09;。 客户端现象&#xff1a;客户端产生了OOM异常&#xff0c;也就是Redis…

深入理解Spring Boot的启动过程

深入理解Spring Boot的启动过程 大家好&#xff0c;我是免费搭建查券返利机器人省钱赚佣金就用微赚淘客系统3.0的小编&#xff0c;也是冬天不穿秋裤&#xff0c;天冷也要风度的程序猿&#xff01;今天&#xff0c;让我们一起深入探讨Spring Boot的启动过程。Spring Boot作为一…

函数(python)

文章目录 1.定义一个函数2. 函数调用3.函数传参3.1 形参与实参一一对应3.2可变参数3.3 关键字参数 函数是组织好的&#xff0c;可重复使用的&#xff0c;用来实现单一&#xff0c;或相关联功能的代码段。 函数能提高应用的模块性&#xff0c;和代码的重复利用率。你已经知道Pyt…

MySql生成记录编号 RecNo

在使用Mysql 时&#xff0c;时常需要生成记录编号&#xff0c;此方法适用于Mysql8.0及以上版本 UPDATE 当前表名 JOIN (SELECT id, ROW_NUMBER() OVER (ORDER BY id) AS new_recNOFROM 当前表名 ) t ON 当前表名.id t.id SET 当前表名.recNO t.new_recNO; sqlite 请参考 S…

【HarmonyOS第一课】保存应用数据考核答案

判断题 1.用户首选项为应用提供Key-Value键值型的数据处理能力&#xff0c;支持应用持久化轻量级数据&#xff0c;它是一种关系型数据库。 正确(True) 错误(False) 2.用户首选项Key是可以重复的关键字。 正确(True) 错误(False) 3.分布式键值数据库的设备协同数据库Key允…

小白快速入门canvas画海报

小编以微信小程序原生语言举例 wxml页面&#xff1a; <canvas type"2d" id"myCanvas" style"width:375px;height:667px;"></canvas> js页面&#xff1a; import drawQrcode from ../../../utils/qrcode/weapp.qrcode.esmdata: {…

中小企业数字化转型如何选择适合自己的MES系统?

随着信息技术的飞速发展&#xff0c;数字化转型已成为中小企业提升竞争力、实现可持续发展的关键途径。在数字化转型过程中&#xff0c;制造执行系统&#xff08;MES&#xff09;作为连接企业资源计划&#xff08;ERP&#xff09;与车间现场管理的桥梁&#xff0c;扮演着至关重…

Docker Compose 入门

想象一下在服务器上运行静态页面的场景。对于这项任务&#xff0c;NGINX 服务器是一个不错的选择。我们在 static-site/index.html 路径下有一个简单的 HTML 文件&#xff1a; 通过使用 Docker&#xff0c;我们将使用以下官方镜像运行 NGINX 服务器 docker run --rm -p 8080:…

企业内部文档共享的应用推荐

有许多开源的企业内部文档共享和知识库管理应用可供选择&#xff0c;它们各自具有不同的特性和功能。以下是一些流行的选项&#xff1a; Confluence: Atlassian的Confluence是一个强大的企业级文档共享和协作平台。它支持丰富的编辑功能&#xff0c;集成了许多其他Atlassian产…