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

2021-04-21 11:04:07 浏览数 (1)

第十二届蓝桥杯模拟赛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原文链接:

mp3

0 人点赞