第十二届蓝桥杯(2021年)模拟赛 Python组(第一期) 题目+个人解答

填空题

填空题-1

【问题描述】
如東整数a是整数b的整数倍,则称b是a的约数。
请问,有多少个正整数是2020的约数。

【答案提交】
这是一道结果填空的题,你只需要算出结果后提交即可。本题的结果为一个整数,在提交答案时只填写这个整数,填写多余的内容将无法得分。

【答案】
12

【代码】

n = 2020

jieguo = []

for i in range(1, n+1):  #2020自身也是约数
    if (n % i == 0):
        jieguo.append(i)

print(jieguo)
print(len(jieguo))

填空题-2

【问题描述】
如果一个mp3文件占用磁盘的大小是4MB,小蓝的硬盘还剩下1006B的空间,请问他还可以放多少个这样的mp3文件?

【答案提交】
这是一道结果填空的题,你只需要算出结果后提交即可。本题的结果为一个整数,在提交答案时只填写这个整数,填写多余的内容将无法得分。

【答案】
25600

【代码】

# 1GB = 1024MB

zong = 100*1024
print(zong / 4)

填空题-3

【问题描述】
一个包含2020个结点的无向图,如果图中没有自环和重边,最多包含多少条边?

【答案提交】
这是一道结果填空的题,你只需要算出结果后提交即可。本题的结果为一个整数,在提交答案时只填写这个整数,填写多余的内容将无法得分。

【答案】
2039190

【代码】

print(int(2020*2019 / 2))

【解析】
仅供参考,我觉得无向图最少得有n-1条边。
在这里插入图片描述

填空题-4

【问题描述】
整数1到6连在一起,成为123456,长度为6。
整数1到12连在一起,成为123456789101112,长度为15。
请问整数1到2020连在一起,长度为多少?

【答案提交】
这是一道结果天空的题,你只需要算出结果后提交即可。本题的结果为个整数,在提交答案时只垍写这个整数,垍写
多余的内容将无法得分。

【结果】
6973

【代码】

n = 2020
long = []
for i in range(1, n + 1):
    long.append(str(i))

l = ''.join(long)
print(len(l))

填空题-5

【问题描述】
在一个序列a = (a[1], a[2], …, a[n]) 中,如果(i, j)满足 i < j 且 a[i] > a[j],则称为一个逆序对。
例如:(3, 2, 2, 1) 中包含6个逆序对。
请问,(87, 39, 35, 1, 99, 10, 54, 1, 46, 24, 74, 62, 49, 13, 2, 80, 24, 58, 8, 14, 83, 23, 97, 85, 3, 2, 86, 10, 71, 15) 中包含多少个逆序对?

【答案提交】
这是一道结果填空的题,你只需要算出结果后提交即可。本题的结果为一个整数,在提交答案时只填写这个整数,填写多余的内容将无法得分。

【结果】
217

【代码】

listt = [87,39,35,1,99,10,54,1,46,24,74,62,49,13,2,80,24,58,8,14,83,23,97,85,3,
         2,86,10,71,15]

ni = 0
l = len(listt)
for i in range(l-1):
    for j in range(i+1, l):
        if listt[i] > listt[j]:
            ni += 1

print(ni)


大题

大题-1

【问题描述】
给定一个三角形的底边长度 l 和高度 h,求三角形的面积。

【输入格式】

输入的第一行包含一个整数 l,表示三角形的底边长度。
第二行包含一个整数 h,表示三角形的高。

【输出格式】
输出一个数,表示三角形的面积。如果面积为整数,请直接
输出这个整数,不带小数点。如果面积不是整数,请四舍五入保
留正好位小数。

【样例输入】
5
6

【样例输出】
15

【代码】

l = int(input())
h = int(input())

S = l * h * 0.5

if S % int(S) == 0:
    print(int(S))
else:
    print('%.1f' % S)

【运行结果】
在这里插入图片描述

大题-2

【问题描述】
小蓝正在上小学,老师要求同学们在暑假每天记日记。可是
小蓝整个暑假都在玩,直到最后一天才想起要记日记。于是小蓝
赶紧编了一些日记交给老师
没想到,日记很快就被老师发现了问题,原来小蓝记完8月
31日的日记,竟又记了8月32日和8月33日的日记。这显然是有
问题的,因为根本没有8月32日和8月33日。
给定一个月份和一个日期,请2021年有没有这一天。

【输入格式】
输入的第一行包含一个整数 m,表示月份。
第二行包含一个整数 d,表示日期。

【输出格式】
如果2021年有m月d日,输入 yes,否则输出 no。

【样例输入】
8
32

【样例输出】
no

【代码】 ( datetime 是python的自带库,建议掌握,Python3的基础模块一(datetime)

from datetime import *

yue = int(input())
ri = int(input())

try:
    test = date(2021, yue, ri)
except ValueError:
    print('no')
else:
    print('yes')

【运行结果】
在这里插入图片描述

大题-3

【问题描述】
给定一个单词,请问在单词中删除t个字母后,能得到的字典
序最小的单词是什么?

【输入格式】
输入的第一行包含一个单词,由大写英文字母组成。
第二行包含一个正整数 t。

【输出格式】
输出一个单词,表示答案。

【样例输入】
LANQIAO
3

【样例输出】
AIAO

【数据规模和约定】
对于所有评测用例,单词长度不超过 100,t 小于单词长度。

【代码】

danci = list(input())
t = int(input())

paixu = sorted(danci)

tmp = []
i = 0
while t > 0:
    xiabiao = danci.index(paixu[i])
    if xiabiao < t+1:
        tmp.append(paixu[i])
        for _ in range(xiabiao + 1):
            danci.pop(0)
        t = t - xiabiao
    i += 1
        
print(''.join(tmp+danci))

【运行结果】
在这里插入图片描述

大题-4

【问题描述】
给定一个序列 a1, a2, …, an。其中a1< a2 < … < an。
相邻两个数之间的差(后一个数减前一个数)称为它们的间隙。
请问序列中最大的间隙值是多少?

【输入格式】
输入的第一行包含一个整数 n,表示序列的长度。
第二行包含 n 个正整数,为给定的序列。

【输出格式】
输出一个整数,表示序列中最大的间隙值。

【样例输入】
5
1 3 8 9 12

【样例输出】
5

【代码】

n = int(input())
litt = list(map(int, input().split()))

cha = []
for i in range(1, n):
    cha.append(litt[i] - litt[i-1])

print(max(cha))

【运行结果】
在这里插入图片描述

大题-5

【问题描述】
小蓝有黄绿蓝三种颜色的小球,分别为R,G,B个。同样颜
色的小球没有区別。
小蓝将这些小球从左到右排成一排,排完后,将最左边的连
续同色小球个数记为 t1,将接下来的连续小球个数记为 t2,
以此类推直到最右边的小球。
请问,总共有多少总摆放小球的方案,使得t1, t2, …为严
格单调递増序列,即 t1 < t2 < t3 < …

【输入格式】
输入一行包含三个整数R,G,B。

【输出格式】
输出一个整数,表示答案。

【样例输入】
3 6 0

【样例输出】
3

【】
没写~


参考文章(题目来源)

第十二届蓝桥杯模拟赛Python组(第一期)

  • 4
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值