image

编辑人: 未来可期

calendar2025-07-14

message2

visits852

第12届蓝桥杯Python青少组中/高级组选拔赛(STEMA)2021年3月真题参考答案

一、实操题

1、编程实现:

给定一个正整数n,计算出n乘100的积。

输入描述:

输入一个正整数n

输出描述:

输出n乘100的积


样例输入:

2

样例输出:

200

参考答案:br />根据题目要求,我们需要编写一个程序来计算n乘100的积。以下是一个简单的Python程序实现:```pythonn = int(input("请输入一个正整数n:"))result = n * 100print("n乘100的积为:", result)```运行程序后,输入一个正整数n,程序会输出n乘100的积。


2、编程实现:

给定一个正整数,判断这个正整数是否能被5整除。

输入描述:

输入一个正整数n         

输出描述:

如果n可以被5整除则输出大写字母“Y”,否者输出大写字母“N”


样例输入:

10

样例输出:

Y

参考答案:br />```pythonn = int(input())if n % 5 == 0:print("Y")else:print("N")```


3、提示信息:

心理学用“智力商数”即“IQ”来表示一个人的智力水平。经过研究划分,智力水平可分为7个等级:

1、IQ≥140的是天才

2、139≥IQ≥120的智力优秀

3、119≥IQ≥110的智力中上

4、109≥IQ≥90的智力中等

5、89≥IQ≥80的智力中下

6、79≥IQ≥70的智力不足

7、IQ≤69的智力缺陷

编程实现:

已知智力水平等级划分,编写程序,当给定一个IQ值来判断智力水平属于哪个级别。

输入描述:

输入一个正整数作为IQ值

输出描述:

如果IQ值大于等于140输出大写字母“A”

如果IQ值大于等于120且小于等于139输出大写字母“B”

如果IQ值大于等于110且小于等于119输出大写字母“C”

如果IQ值大于等于90且小于等于109输出大写字母“D”

如果IQ值大于等于80且小于等于89输出大写字母“E”

如果IQ值大于等于70且小于等于79输出大写字母“F”

如果IQ值小于等于69输出大写字母“G”


样例输入:

135

样例输出:

B

参考答案:br />根据给定的IQ值,输出对应的智力水平等级:```pythondef judge_iq_level(iq):if iq >= 140:return 'A'elif 120 <= iq < 140:return 'B'elif 110 <= iq < 120:return 'C'elif 90 <= iq < 110:return 'D'elif 80 <= iq < 90:return 'E'elif 70 <= iq < 80:return 'F'else:return 'G'iq_value = int(input("请输入IQ值:"))print(judge_iq_level(iq_value))```


4、编程实现:

给定一组包含n个(n>3) 正整数数据,和一个正整数M,从这n个正整数中任意拿出两个数相加,相加后的结果正好为M的值,计算出这n个正整数中有多少组这样的数据。

例如:

给定一组正整数为:1, 3, 2, 4,正整数M为 3,其中有1组符合要求,为1和2

给定一组正整数为:2, 7, 11, 6, 13,正整数M为 13,其中有2组符合要求,分别为 2 和11,7 和 6 

输入描述:

第一行输入n个正整数,正整数之间英文逗号隔开(正整数不能有重复,且n>3)

第二行输入一个正整数M

输出描述:

输出n个正整数中两个数相加的结果正好为M的组合有几组


样例输入:

2, 7, 11, 6, 13
13

样例输出:

2

参考答案:```pythonn = input().split(',')n = [int(i) for i in n]M = int(input())count = 0for i in range(len(n)):for j in range(i+1, len(n)):if n[i] + n[j] == M:count += 1print(count)```


5、提示信息:

某种病毒具有很强的繁殖能力,从病毒粒子出生后的第5分钟开始,每分钟可以复制出一个新的病毒粒子。新出生的病毒粒子从第5分钟开始,也可以每分钟复制一个新的病毒粒子。

举例来说,第1分钟时有一个病毒粒子,此病毒粒子从第5分钟开始复制新的病毒粒子,因此第5分钟时的病毒数量为2个;第6分钟时又复制出新的病毒粒子,因此第6分钟的病毒数量为3个;以此类推,第7分钟时病毒粒子数为4;第8分钟时病毒粒子数为5;第9分钟时,第5分钟复制出的病毒粒子开始复制新的病毒粒子,因此第9分钟时的病毒总数为7;第10分钟时,第6分钟复制出的病毒粒子开始复制新的病毒粒子,因此第10分钟时的病毒粒子总数为10。

编程实现:

计算病毒粒子总数,已知第一分钟时出生了一个病毒粒子,假设所有病毒粒子不会自动死亡,请计算第N分钟时的病毒粒子总数。

例如:前10分钟病毒粒子的总数分别为1,1,1,1,2,3,4,5,7,10。

输入描述:

输入正整数N(0<N≤60),表示时间

输出描述: 

输出第N分钟时,病毒粒子的总数


样例输入:

6

样例输出:

3

参考答案:```pythondef virus_count(n):if n < 5:return 1else:return 2 ** (n - 4) + virus_count(n - 1)N = int(input())print(virus_count(N))```


喵呜刷题:让学习像火箭一样快速,快来微信扫码,体验免费刷题服务,开启你的学习加速器!

创作类型:
原创

本文链接:第12届蓝桥杯Python青少组中/高级组选拔赛(STEMA)2021年3月真题参考答案

版权声明:本站点所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明文章出处。
分享文章
share