万卷网> 蓝桥竞赛 >蓝桥Python > 2022年3月蓝桥杯蓝桥Python(STEMA)中/高级

2022年3月蓝桥杯蓝桥Python(STEMA)中/高级
STEMA 2022 2024-01-16 16:14:41 92

一、编程题

1.

编程实现:

有N个小朋友从左到右排成一排,每个小朋友手中都有一定数量的糖果,且糖果总数量是N的倍数。

计算出最少调整几次可以使每个小朋友的糖果数量相同。

调整规则如下:

规则1:每个小朋友的糖果只能调整到左右相邻的两个小朋友手中;

规则2:第一个小朋友的糖果只能调整到第二个小朋友手中;

规则3:最后一个小朋友的糖果,只能调整到倒数第二个小朋友手中。 

例如:1~3号个小朋友原有糖果数量分别为6,4,2。

1)1号小朋友拿出两块给2号小朋友;

2)2号小朋友拿出两块给3号小朋友;

两次操作后三个小朋友手中糖果分别为4,4,4。 

即按照调整规则最少操作2次可以使3个小朋友手中糖果数量都相同。

现按照顺序给出第1~N个小朋友手中原有糖果数量,按照调整规则计算出最少调整几次可以使小朋友手中的糖果数量都相同。

输入描述:

输入N个正整数(1<正整数<100),表示从1到N号小朋友手中原有糖果数量,正整数之间以一个英文逗号隔开,且所有正整数之和是N的倍数

输出描述:

按照调整规则计算出最少操作几次可以使小朋友手中糖果数量都相同


样例输入:

6,4,2

样例输出:

2
2.

编程实现:

给定一个正整数M(1≤M≤5)和一个只包含数字的字符串(5<字符串长度≤20)。使用M个乘号插入到字符串中,且两个乘号不能相邻,插入后,生成一个乘法算式。找出一种使乘法算式数值最大的插入方式,并将结果输出。(乘号不能放在字符串的首尾位置)

如字符串为123456,插入2个乘号。插入方式有:

1*2*3456=6912,1*23*456=10488,1*234*56=13104,1*2345*6=14070,12*3*456=16416,12*34*56=22848,12*345*6=24840,123*4*56=27552,123*45*6=33210,1234*5*6=37020,其中乘法算式数值最大是第十种,为37020。

输入描述:

第一行输入一个正整数M(1≤M≤5),代表乘号个数

第二行输入一个只包含数字的字符串(5<字符串长度≤20),表示要插入M个乘号的字符串

输出描述:

输出一个整数,表示最大的结果


样例输入:

2
123456

样例输出:

37020
3.

编程实现:

给定一个正整数N,输出N个连续星号“*”。

输入描述:

输入一个正整数N,表示星号的个数

输出描述:

输出N个连续星号


样例输入:

3

样例输出:

***
4.

编程实现:

给定一个正整数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


样例输入:

5
1,2,3,4,5

样例输出:

2
5.

编程实现:

给定一个小写字母,输出其对应的大写字母。

输入描述:

输入一个小写字母

输出描述:

输出小写字母对应的大写字母


样例输入:

a

样例输出:

A
公众号
客服 反馈
顶部