答案
解析
第 13 届蓝桥杯 Python 青少组中 / 高级组选拔赛( STEMA ) 2022 年 3 月 13
日真题
题目总数:5 总分数:128
编程题
第 1 题 问答题
编程实现:
给定一个正整数 N ,输出 N 个连续星号 “*” 。
输入描述:
输入一个正整数N ,表示星号的个数
输出描述:
输出N 个连续星号
样例输入:
样例输出:
评分标准:
6分:能正确输出一组数据;
6分:能正确输出两组数据;
6分:能正确输出三组数据。
第 2 题 问答题
编程实现:
给定一个小写字母,输出其对应的大写字母。
3
***
n=int (input ())
print ("*" *n)
1
2
答案
解析
输入描述:
输入一个小写字母
输出描述:
输出小写字母对应的大写字母
样例输入:
样例输出:
评分标准:
6 分:能正确输出一组数据;
6分:能正确输出两组数据;
8分:能正确输出三组数据。
第 3 题 问答题
编程实现:
给定一个正整数 N ,和 M 个不同的正整数。然后将 M 个正整数中任意两个数进行组合,且求出每组组合的和,
问M 个正整数中有多少组组合的和恰好等于 N 。
如:正整数N 为 6 , M 为 5 , 5 个不同的正整数分别为 1 , 2 , 3 , 4 , 5 。
任意两数组合有10 组: 1+2 , 1+3 , 1+4 , 1+5 , 2+3 , 2+4 , 2+5 , 3+4 , 3+5 , 4+5
其中和正好等于6 的组合有 2 组: 1+5 , 2+4
输入描述:
第一行输入一个正整数N
第二行输入M 个不同的正整数,且正整数之间以一个英文逗号隔开
输出描述:
输出M 个不同正整数中有多少组组合的和恰好等于 N
样例输入:
样例输出:
a
A
s=input ()
s=s.strip ()
print (s.upper ())
1
2
3
5
1,2,3,4,5
答案
解析
评分标准:
6 分:能正确输出一组数据;
6分:能正确输出两组数据;
6分:能正确输出三组数据;
7分:能正确输出四组数据。
第 4 题 问答题
编程实现:
有N 个小朋友从左到右排成一排,每个小朋友手中都有一定数量的糖果,且糖果总数量是 N 的倍数。
计算出最少调整几次可以使每个小朋友的糖果数量相同。
调整规则如下:
规则1 :每个小朋友的糖果只能调整到左右相邻的两个小朋友手中;
规则2 :第一个小朋友的糖果只能调整到第二个小朋友手中;
规则3 :最后一个小朋友的糖果,只能调整到倒数第二个小朋友手中。
例如:1~3 号个小朋友原有糖果数量分别为 6 , 4 , 2 。
1) 1 号小朋友拿出两块给 2 号小朋友 ;
2) 2 号小朋友拿出两块给 3 号小朋友 ;
2
#参 考答案 1
n=int (input ())
m=input ()
m=m.strip ()
m=m.split ("," )
result =0
for i ,i1 in enumerate (m[0:-1]):
for i2 in m [(i+1):]:
if int (i1 )+int (i2 )== n:
result += 1
print (result )
1
2
3
4
5
6
7
8
9
10
11
# 参 考答案 2
n = int (input ())
s = list (map (int ,input ().split ("," )))
cnt = 0
for i in range (len (s)):
for j in range (len (s)):
if i != j and s [i]+s[j] == n :
cnt += 1
print (cnt // 2)
1
2
3
4
5
6
7
8
9
答案
两次操作后三个小朋友手中糖果分别为 4 , 4 , 4 。
即按照调整规则最少操作2 次可以使 3 个小朋友手中糖果数量都相同。
现按照顺序给出第1~N 个小朋友手中原有糖果数量,按照调整规则计算出最少调整几次可以使小朋友手中的糖
果数量都相同。
输入描述:
输入N 个正整数( 1< 正整数 <100 ),表示从 1 到 N 号小朋友手中原有糖果数量,正整数之间以一个英文逗号隔
开,且所有正整数之和是N 的倍数
输出描述:
按照调整规则计算出最少操作几次可以使小朋友手中糖果数量都相同
样例输入:
样例输出:
6,4,2
2
#参 考答案 1
n=input ()
n=n.strip ()
n=n.split ("," )
for i in range (len (n)):
n [i]=int (n[i])
r=sum (n)// len (n)
times =0
while True :
for item ,value in enumerate (n):
if value >r:
if item <len (n)-1:
v =value -r
n [item ]-= v
n [item +1]+= v
times += 1
break
elif item == len (n)-1:
v =value -r
n [item ]-= v
n [item -1]+= v
times += 1
break
if value <r:
if item <len (n)-1:
v =r-value
n [item +1]-= v
n [item ]+= v
times += 1
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
解析 评分标准:
7 分:能正确输出一组数据;
7分:能正确输出两组数据;
8分:能
第13届蓝桥杯Python青少组中_高级组选拔赛(STEMA)2022年3月13日真题-附答案,2022年3月蓝桥杯青少组STEMA选拔赛Python中高级组真题