接下来找到差值最小的情况
发布时间:2025-06-24 19:41:50 作者:北方职教升学中心 阅读量:498
输入描述
输入一个偶数n(2≤n≤100)
输出描述
输出一个整数,表示n可以由多少个2相加得到
样例输入
10
样例输出
5
参考程序:
n =int(input())print(n/2)
代码解析:
一个偶数n由n/2个2组成
2. 字母比较
题目描述:
(注.input()输入函数的括号中不允许添加任何信息)
给定两个不相同的大写字母,比较它们在英文字母表中的位置,输出位置更靠后的字母。16;
第二组:18、
例如:2. 4. 6. 8.
给定一个偶数 n,计算 n可以由多少个2相加得到。pty
1、
后面L个需要单独运算,如果后面L个所需水量存在大于0的情况,则将浇水量设为三个中需水量最大的值,并完成浇水,排水量计算。1、
两辆车拉石头共三种情况:
第一辆拉a+b,第二辆拉 c;
第一辆拉a+c,第二辆拉 b;
第一辆拉b+c,第二辆拉 a。22;
100 最多可以由 8个连续的正整数相加得到,输出8.
例如:
n=8;8不能由连续的正整数相加得到,输出-1.
输入描述
输入一个正整数n(3≤n≤108)
输出描述
输出一个整数,表示 n最多可以由多少个连续的正整数相加得到;如果n不能由连续的正整数相加得到,则输出 -1。
2. 运行下面程序,输出的结果是()。故选择- B选项。0、5. 浇花系统
题目描述
有n棵植物,排成一排,从左到右的编号分别为:1,2,3,…,n ;n颗植物所需的水量分别为:w1,w2,w3,…wn 。
第十五届蓝桥杯 Python 省赛题目及解析
选择题
1. 运行下面程序,输出的结果是()。1、
输入描述
第一行输入一个大写字母
第二行输入一个大写字母
输出描述
输出位置靠后的字母
样例输入D
H
D
H
样例输出
H
参考程序:
m =input()n =input()ifm >n:print(m)else:print(n)
代码解析
字母大小比较通过ASCII码进行比较,靠后的字母ASCII码更大,所以只需要输出较大的字母即可。
样例输入
100
样例输出
8
参考程序:
n =int(input())count =0# 保存符合条件的最大连续整数个数fori inrange(1,n //2+1):s =i # 和t =1# 记录个数,从i开始设置个数为1forj inrange(i +1,n):# 内循环从i开始求和s +=j t +=1# 计算一个数字,增加1ifs >n ors ==n:# 如果和大于或者等于数字n,结束内循环ifs ==n andt >count:# 如果相等,并且当前个数为最大数count =t # 保存到count中breakprint(count)
代码解析
注意外循环范围,最小为(1, n // 2 + 1),因为连续整数从(n//2+1)开始,第一个要加的数字就是 (n//2 + 2)已经大于数字n,所以最大范围就是从n//2开始计算连续整数的个数。
给定 n行n列的魔塔,请计算勇士最少需要多少初始体力值才可以成功夺取宝石。2;
可通过数学方法推算:

如上所示,a,b,c为石头重量从小到大排序。
第二行输入n个整数w(0 <= w; <= 1000) ,分别表示编号 1~n 的植物所需的水量,整数之间以一个空格隔开。4 棵植物分别浇上1份水,浇水后4棵植物所需水量为0、小丁为植物设计了一套浇水系统。-4、
6. 夺取宝石
题目描述
(注.input()输入函数的括号中不允许添加任何信息)
一个n行n列的网格,表示魔塔。
接下来找到差值最小的情况。14、15、勇士只能从魔塔内走到右下角且每次只能向下或向右走一格;
2、10、
4. 连续正整数和
题目描述
(注:input()输入函数的括号中不允许添加任何信息)
给定一个正整数 n,请计算n最多可以由多少个连续(2个及以上)的正整数相加得到,如果n不能由连续的正整数相加得到,则输出-1。tpy
首先完成最后一列和最后一行dp表:
0 0 8
0 0 2
6 1 3
接下来补充完整dp表:
4 4 8
3 5 2
6 1 3
所以最小初始体力值为4。2、怪物格子中有一个负整数,表示勇士进入该格子后会损失对应体力值;药水格子中有一个正整数,表示勇士进入该格子后,会增加对应体力值;
例如:怪物格子中的负整数为 -4 时,表示勇士进入该格子后,会损失 4体力值;药水格子中的正整数为2时,表示勇士进入该格子后,会增加 2 体力值。魔塔的每个格子中有一个怪物或一瓶药水。
样例输入
4 3
1 1 3 2
样例输出
3 2
参考程序
n,L =map(int,input().split())plants =list(map(int,input().split()))times =0water =0i =0fori inrange(n -L +1):# 前n-L个植物浇水ifplants[i]>0:time =plants[i]# 将浇水量设为当前植物需水量forj inrange(i,i +L):# 往后取L个浇水plants[j]-=time # 浇水ifplants[j]<0:# 如果小于0,代表需要排水water -=plants[j]plants[j]=0times +=timeifmax(plants[-L:])>0:# 后面L个存在需要水的植物time =max(plants[-L:])# 直接浇最多需水量的水forj inrange(L):plants[j -L]-=time ifplants[j -L]<0:water -=plants[j -L]times +=timeprint(times,water)
代码解析
使用循环遍历所需水量列表,如果当前需水量plants[i]大于0,则将浇水次数设为plants[i],从当前植物往后取三个植物,均浇水plants[i],也就是都减少plants[i]。
编程题
1. 偶数
题目描述:
(注.input()输入函数的括号中不允许添加任何信息)
偶数:指能够被 2 整除的整数。-2 的路线,当勇士初始体力值为 4时;
第一步:勇士进入-1格子,损失1体力值,体力值变为3;
第二步:勇士接着进入2格子,增加2体力值,体力值变为 5;
第三步:勇士接着进入-4格子,损失4体力值,体力值变为 1;
第四步:勇士接着进入2格子,增加2体力值,体力值变为 3;
第五步:勇士接着进入-2格子,损失2体力值,体力值变为 1。除了能够将字符串拼接,也能够将列表. 元组拼接。
以题目样例来讲,从最右下角开始倒推。13、
外循环控制从i开始,内循环从i开始往后计算连续整数。
例如:n=4,L=3;4棵植物所需要的水量分别为1、
4. 下列哪个运算符可将两个字符串拼接起来?( )
- A. *
- B. +
- C.%
- D. //
正确答案:B
答案解析:
Python中算术运算符的考查,将两个字符串拼接到一起需要使用“+”。3、
输出描述
输出两个整数,分别表示浇水系统最少的浇水次数,以及排到水池的水量,整数之间以一个空格隔开。3、
输入描述
输入仅一行,包含三个整数(1≤整数≤200),分别表示三块石头的重量,整数之间以一个空格隔开
输出描述
按从小到大的顺序输出两个整数,分别表示两辆车各自运输的石头总重量,整数之间以一个空格隔开
样例输入
4 2 3
样例输出
4 5
参考程序:
w =list(map(int,input().split()))w_min =w_max =w[0]fori inrange(1,3):ifw_min >w[i]:w_min =w[i]# 求最小值ifw_max <w[i]:w_max =w[i]# 求最大值w_mid =sum(w)-w_min -w_max # 求最中间值c1 =w_min +w_midc2 =w_maxifc1 >c2:print(c2,c1)else:print(c1,c2)
代码解析
两辆车运输的石头总重量尽可能相近则需要一辆车运最重的一块,另一辆车运较轻的两块。x = 1, 2, 3 是定义了一个元组,所以答案为- A选项。0,此次系统也会将第2棵植物多余的1份水排到水池; 所以,浇水系统最少需要浇3次,并且将多余的2份水排到水池。2、
D选项:在Python中,当你调用一个函数时,所有的位置参数(即没有指定名称的参数)必须首先出现,然后才是关键字参数(即指定了名称的参数)。tpty
↓↓更多少儿编程真题资料请关注↓↓
3. 下列哪个函数可以返回列表中的最大值?()
- A. len()
- B. sum()
- C. sort()
- D. m- Ax()
正确答案:D
答案解析:
Python内置函数的考查,len()是获取序列长度,sum()是序列求和,sort()是序列排序,m- Ax()是求序列最大值。3、
第一组:9、0、0、右下角值为-2,则最少体力值为3,上面格子的值为1,则需要最小体力值为2,依次类推。1,由于第2棵植物已经满足所需水量,所以系统会将此次多余的1份水排到水池; - 第三次:将第 2、夺取宝石全程,勇士须保持体力值大于0,否则夺取宝石失败。21、
B选项:没有return则返回空,即None。从出口开始记录走到每个格子所需最少体力值,使用动态规划。2、tptyt
正确答案:B
答案解析:
join() 方法是字符串的一个方法,它用于将序列中的元素以指定的字符连接生成一个新的字符串。
例如:
- a. 三块石头的重量分别为 4、
a+b-c = a+(a+x)-(a+x+y) = a - y
a+c-b = a+(a+x+y)-(a+x) = a + y
b+c-a = (a+x)+(a+x+y)-a = a+2x+y
已知x≥0,y≥0,所以第一种情况差值最小。2,浇水系统每次会将连续的 3 棵植物分别浇上1份水。11、
勇士成功夺取宝石,且全程体力值均大于0,最少需要 4初始体力值。
输入描述
第一行输入两个整数n、
输入描述
第一行输入一个整数n(2≤n≤200),表示魔塔的行数和列数接下来输入n行,每行n个整数(-1000≤整数≤1000,整数不能为 ,其中负整数表示勇士进入该怪物格子会损失的体力值,正整数表示勇士进入该药水格子会增加的体力值,整数之间以一个空格隔开
输出描述
输出一个整数,表示勇士最少需要的初始体力值
样例输入3
-1 1-6
2 -4 1
-5 2 -2样例输出
4
参考程序
n =int(input())grid =[list(map(int,input().split()))fori inrange(n)]dp =[[0]*n fori inrange(n)]dp[-1][-1]=max(1,1-grid[-1][-1])# 初始化最后一行和最后一列fori inrange(n -2,-1,-1):dp[i][-1]=max(1,dp[i +1][-1]-grid[i][-1])dp[-1][i]=max(1,dp[-1][i +1]-grid[-1][i])# 填充剩余的格子fori inrange(n -2,-1,-1):forj inrange(n -2,-1,-1):min_health =min(dp[i +1][j],dp[i][j +1])dp[i][j]=max(1,min_health -grid[i][j])print(dp[0][0])
代码解析
勇士只能向下向右移动,需要计算最少初始体力值。
请你在不分割石头的情况下,将三块石头分给两辆车运输,使得两辆车各自运输的石头总重量尽可能相近,并分别输出两辆车运输的石头总重量。
以下是浇水次数最少的一种方式:- 第一次:将第1、2、3 棵植物分别浇上1份水,浇水后4棵植物所需水量为0、
请计算浇水系统最少要浇多少次才能满足所有植物所需水量,以及排到水池的水量。
只需要求出最大重量,最小重量,再通过数学运算求出中间重量(sum(w) - w_min - w_max)即可实现。4棵植物分别浇上1份水,浇水后4棵植物所需水 量为0、19、L(1 ≤ L ≤ n ≤ 1000),分别表示植物的数量和浇水系统每次连续浇灌的植物数量,整数之间以一个空格隔开。3; - b. 一辆车运输重量为4的石头;
- c. 另一辆车运输重量为2和3的石头;
- d. 两辆车运输的石头总重量分别是4和5,各自运输的石头总重量已尽可能相近,所以输出4和5。
C选项:单星号(*),*name,接收一个元组;双星号(**),**name,接收一个字典。12、
5. 关于Python函数的描述,错误的是( )。
3、
浇水系统:每次会将连续的L棵植物分别浇1份水。
例如:
n=100;100 可以由以下2组连续的正整数相加得到。0、
例如:n=10;10可以由5个2相加得到(2+2+2+2+2)。题目说法错误,故选- C选项。
例如:n=3;3行3列的魔塔如下:按照 -1、
3. 石头运输
题目描述
给定三个整数,表示三块石头的重量。我们可以使用倒推的方法。
例如:大写字母 D和 H;D和H相比,H在英文字母表中位置更靠后。故选D选项。x =1,2,3print(type(x))
- A. <- Cl- Ass ‘tuple’>
- B. <- Cl- Ass ‘int’>
- C. <- Cl- Ass ‘list’>
- D. 报错
正确答案: A
答案解析:
type() 函数是 Python 中的一个内置函数,用于获取对象的类型。- A. 调用函数时,实参可以是一个表达式
- B. 没有return语句的函数执行结束后,返回None
- C. 函数形参为*n- Ame新式时,*n- Ame形参接收一个字典
- D. 调用函数时,关键字参数必须在位置参数后面
正确答案:C
答案解析:
A选项:实参可以使表达式,Python会先计算出表达式的值,然后将值作为参数传递。每棵植物可以被重复浇水,如果当前植物已经满足所需水量,系统会将多浇的水排到水池中。这是因为Python解释器需要首先确定所有位置参数的值,然后才能将关键字参数与函数定义中的形参名称进行匹配。s = ‘py’
print(‘t’.join(s))- A、
- 第一次:将第1、2、3 棵植物分别浇上1份水,浇水后4棵植物所需水量为0、