前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >第十二届蓝桥杯模拟赛Python组(第一期)

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

作者头像
全栈程序员站长
发布2021-04-21 11:04:07
3350
发布2021-04-21 11:04:07
举报
文章被收录于专栏:全栈程序员必看

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

第一题

问题描述

如果整数a是整数b的整数倍,则称b是a的约数。 请问,有多少个正整数是2020的约数。

答案提交

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

代码语言:javascript
复制
''' 思路:就暴力for循环 '''
#代码
if __name__ == '__main__':

	lst = []
	for i in range(1,2021):
		if 2020%i == 0:
			lst.append(i)
	print(len(lst))
#结果
12

第二题

问题描述

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

答案提交

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

代码语言:javascript
复制
''' 思路:1GB=1024MB '''
#代码
if __name__ == '__main__':

	print(int(100*1024//4))
#结果
25600

第三题

问题描述

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

答案提交

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

代码语言:javascript
复制
''' 思路:有向图的个数为无向图的两倍,有向图边为2020*2019;所以无向图2020*2019/2 '''
#代码
if __name__ == '__main__':

	print(2020*2019//2)
#结果
2039190

第四题

代码语言:javascript
复制
''' 思路1:首想字符串拼接,然后len '''
#代码
if __name__ == '__main__':
	str1 = ''
	for i in range(1,2021):
		str1 += str(i)
	print(len(str1))
#结果
6973
代码语言:javascript
复制
''' 思路2:找规律,毕竟只是求到2020,是定值。当然找到规律后就可以进行通用化处理。 1-9 每个都为1 9 10-99 每个都为2 90*2 100-999 每个都为3 900*3 1000-2020 每个都为4 1021*4 '''
#代码
if __name__ == '__main__':
	print(1021*4 + 900*3 + 90*2 + 9)
#结果
6973

第五题

问题描述 在一个列a = (a[1], al[2… a[n])中,如果(ij)满足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)中 包含多少个逆序对?

答案提交

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

代码语言:javascript
复制
''' ??疑问:[3,2,2,1]真的有6个吗?我数的是5个 思路:暴力暴力,直接比较 '''
#代码
if __name__ == '__main__':
	lst = [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]
	# lst = [3,2,2,1]
	print(lst)
	count = 0
	for i in range(len(lst)-1):
		for j in range(i+1,len(lst)):
			if lst[j]<lst[i]:
				count+=1
	print(count)
#结果
217

第六题

问题描述

给定一个三角形的底边长度I和高度h,求三角形的面积。

输入格式

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

输出格式

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

代码语言:javascript
复制
''' 思路:题目要求咋做就咋做 (题目说明底边和高度都为整数,如果有小数也只能是一位) '''
#代码
if __name__ == '__main__':
    width = int(input())
    high = int(input())
    if width%2 == 0 or high%2 == 0:
        print(int(width*high/2))
    else:
        print(width*high/2)
#结果

第七题

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

输入格式

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

输出格式

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

样例输入

8 32

样例输出

no

代码语言:javascript
复制
''' 思路:题目要求咋做就咋做(注意2月以及大小月) '''
#代码
if __name__ == '__main__':
    m = int(input())
    d = int(input())
    if (m == 1 or m == 3 or m == 5 or m == 7 or m == 8 or m == 10 or m == 12) and d <= 31:
        print('yes')
    elif m == 2 and d <= 28:
        print('yes')
    elif (m == 4 or m == 6 or m == 9 or m == 11) and d <= 30:
        print('yes')
    else:
        print('no')

第八题

问题描述

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

输入格式

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

输出格式

输出一个单词,表示答案

样例输入

LANQIAO 3 样例输出

AIAO

数据规模和约定

对于所有评测用例,单词长度不超过100, t于单词长度。

代码语言:javascript
复制
''' 字典序是指从前到后比较两个字符串的大小的方法。首先比较第一个字符,如果不同则第一个字符较小的字符串更小,如果相同则继续比较第2个字符......如此继续,来比较整个字符串的大小。 思路:进行枚举,然后比较。 '''
#代码
a = input()
    b = int(input())
    while b:
        d = 0
        c = []
        b = b - 1
        for i in range(len(a)):
            c.append(a[:d] + a[d + 1:])
            d = d + 1
        a = min(c)
    print(a)

第九题

问题描述

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

输入格式

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

输出格式

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

样例输入

5 1 3 8 9 12

样例输出

5

代码语言:javascript
复制
''' 思路:新建一个列表用来存放差值,然后使用max函数取出最大值。注意输入为0或1的情况 '''
#代码
if __name__ == '__main__':
    num = int(input())
    lst = list(map(int,input().split()))
    lstCount = []
    if num==0 or num==1:
        print(None)
    else:
        for i in range(num-1):
            lstCount.append(lst[i+1]-lst[i])
        print(max(lstCount))

第十题

问题描述

小蓝有黄绿蓝三种颜色的小球,分别为R, G,B个。同样颜色的小球没有区别。

小蓝将这些小球从左到右排成一排,排完后,将最左边的连续同色小球个数记为t1,将接下来的连续小球个数记为t2,以此类推直到最右边的小球。 问,总共有多少总摆放小球的方案,使得t1,t2,… 为严格单调递增序列,即t1 < t2 < t3<…

输入格式

输入一行包含三个整数R, G, B.

输出格式

输出一个整数,表示答案。

样例输入

3 6 0

样例输出

3

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/100085.html原文链接:

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 第十二届蓝桥杯模拟赛Python组(第一期)
    • 第一题
      • 第二题
        • 第三题
          • 第四题
            • 第五题
              • 第六题
                • 第七题
                  • 第八题
                    • 第九题
                      • 第十题
                      领券
                      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档