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

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

第十二届蓝桥杯模拟赛Python组(第一期)_第1张图片

第一题

第十二届蓝桥杯模拟赛Python组(第一期)_第2张图片
这是一道送分题,手算可快速得出答案。即1, 2, 4, 5, 10, 20, 101, 202, 404, 505, 1010, 2020一共十二个正整数是2020的约数。用代码实现也比较简单。

# 如果整数a是整数b的整倍数,则称b是a的约数
# 请问,有多少个正整数是2020的约数
list1 = []
for i in range(1,2021):
    if 2020%i==0:
        list1.append(i)
#print(list1)
print(len(list1))

答案:12

第二题

第十二届蓝桥杯模拟赛Python组(第一期)_第3张图片
一条print语句即可得出答案。

# 如果一个MP3文件占磁盘的大小是4MB,小蓝的硬盘还剩下100GB的空间,请问他还可以放多少个这样的MP3文件?
print(int(100*1024/4))

答案:25600

第三题

第十二届蓝桥杯模拟赛Python组(第一期)_第4张图片

解题思路:一个无向图(没有自环和重边),最多包含n(n-1)/2条边,最少包含n-1条边。

# 一个包含2020个结点的无向图,如果图中没有自环和重边,最多包含多少条边?
# 解题思路:一个无向图(没有自环和重边),最多包含n(n-1)/2条边,最少包含n-1条边。
print(int(2020*2019/2))

答案:2039190

第四题

第十二届蓝桥杯模拟赛Python组(第一期)_第5张图片

题目较简单,直接上代码

# 整数1到6连在一起,成为123456。
# 整数1到12连在一起,成为123456789101112,长度为15。
# 请问整数1到2020连在一起,长度为多少?
str1 = ''
for i in range(1,2021):
    str1 += str(i)
print(len(str1))

答案:6973

第五题

第十二届蓝桥杯模拟赛Python组(第一期)_第6张图片


第十二届蓝桥杯模拟赛Python组(第一期)_第7张图片

第六题


第十二届蓝桥杯模拟赛Python组(第一期)_第8张图片


# 问题描述:给定一个三角形的底边长度I和高度h,求三角形的面积。
I = int(input())
h = int(input())
a = I*h
if a % 2 == 0:
    print(int((1/2)*a))
else:
    print((1/2)*a)

第七题


第十二届蓝桥杯模拟赛Python组(第一期)_第9张图片

#小蓝日记
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')

第八题


第十二届蓝桥杯模拟赛Python组(第一期)_第10张图片

'''
问题描述:给定一个单词,请问在单词中删除t个字母后,能得到的字典序最小的单词是什么?
输入格式:输入的第一行包含一个单词,由大写英文字母组成。第二行包含一个正整数t。
'''
s = input()
t = int(input())
a = 0
for i in range(t):
    if s[a]>s[a+1]:
        s = s.replace(s[a],'')
    else:
        s = s.replace(s[a+1],'')
print(s)

第九题


第十二届蓝桥杯模拟赛Python组(第一期)_第11张图片

n = int(input())
ls = input().split()
def solution(nums,n):
    if n==0 or n==1:
        return None
    elif n==2:
        return int(nums[1])-int(nums[0])
    else:
        max = int(nums[1])-int(nums[0])
        fast=2
        low=1
        while n>fast:
            temp = int(nums[fast])-int(nums[low])
            if max < temp:
                max = temp
                fast += 1
                low += 1
            else:
                fast += 1
                low += 1
                continue
        return max
res=solution(ls,n)
print(res)

第十题


第十二届蓝桥杯模拟赛Python组(第一期)_第12张图片

最后一题我就不写代码了,给大家留点悬念,看看大家能否根据题目要求写出代码。期待各路大神对最后一题的见解。

在这里插入图片描述

你可能感兴趣的:(蓝桥杯,算法,python,算法)