- A题:带宽
- B题:纯质数
- C题:完全日期
- D题:最小权值
- E题:大写
- F题:123
- G题:冰山
- H题:和与乘积
- I题:二进制问题
- 10.J题:翻转括号序列
先分享试题,再逐步完善题解
试题源文件链接在文末
我的感悟:相对于ACM那些老牌竞赛来说,蓝桥杯得奖是一个并不困难的事情(对于那些想在大学期间获得一些奖项的兄弟来说),第一次参加算法竞赛,先是意外的获得了省一,之后参加国赛又获得国三,对自己的第一次竞赛之旅也算满意。
全部经历完之后,回过头去看,原来拿奖也没这么难(python组,弱省),这次比赛大部分涉及到算法的题都没有写出来(算法薄弱,蓝桥杯拿奖相对容易),知道自己的真实水平,也知道自己在算法部分还有很长一段路要走,但是这通过这次竞赛认识了优秀的人,见识了新的东西,取得一些成绩,以上这些激励着我在课下空余时间去学习算法磨练技术,继续投入到下一次比赛。
希望大三可以突破自己,有朝一日能与学院的高手们同台竞技,为院争光!
我的建议:不要怕失败,多尝试,多接触新的东西,方能在经历中成长,不断突破自己。
A题:带宽
【分析】
【代码】
#结果为 25
1Byte=8bit
1MB/s=8Mbps=8Mb/s
200*1024/8=25600KB/s=25MB/s
B题:纯质数
【分析】
【代码】
#纯质数
from math import *
#判断是否为质数
def isPrime(n):
m=int(sqrt(n))+1
for i in range(2,m):
if n%i==0:
return False
return True
#判断每一位是否都为质数
def eve(n):
res=['2','3','5','7']
s=str(n)
if s.count(res[0])+s.count(res[1])+s.count(res[2])+s.count(res[3])==len(s):
return 1
return 0
ans=0
for i in range(20210606):
if (isPrime(i) and eve(i)):
ans+=1
print(ans)
C题:完全日期
【分析】
【代码】
from datetime import *
from math import *
a=date(2001,1,1)
b=date(2021,12,31)
gap=timedelta(days=1)
#求每个数位的和
def cul(n):
summ=0
nn=str(n)
for i in nn:
summ+=int(i)
return summ
#判断是否为完全平方数
def judge(mm):
x=sqrt(mm)
y=int(sqrt(mm))
if x==y:
return 1
return 0
ans=0
while a!=b:
a=a+gap
year=a.year
month=a.month
day=a.day
#和
summm=cul(year)+cul(month)+cul(day)
#print(a)
#print(summm)
if judge(summm):
ans+=1
print(a)
print(ans)
D题:最小权值
【分析】
【代码】
E题:大写
【分析】
【代码】
F题:123
【分析】
【代码】
G题:冰山
【分析】
【代码】
H题:和与乘积
【分析】
【代码】
#样例不能完全通过
n=int(input())
res=list(map(int,input().split()))
ans=0
def judge(n):
summ=sum(n)
cul=1
for i in ress:
cul*=i
if summ==cul:
return 1
return 0
for i in range(n):
for j in range(i,n+1):
ress=res[i:j]
if len(ress)>0:
if judge(ress):
ans+=1
j+=1
i+=1
print(ans)
I题:二进制问题
【分析】
【代码】
#样例不能完全通过
N,K=map(int,input().split())
ans=0
for i in range(1,N+1):
s=bin(i)[2:]
if s.count("1")==K:
ans+=1
print(ans)
J题:翻转括号序列
【分析】
【代码】
链接:https://pan.baidu.com/s/1KoCDQ34GBkf_l3y6t768ww
提取码:7e0n
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)