网站大量收购闲置独家精品文档,联系QQ:2885784924

第十三届蓝桥杯Python 大学B组真题详解.docx

第十三届蓝桥杯Python 大学B组真题详解.docx

  1. 1、本文档共18页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

第十三届蓝桥杯Python大学B组真题详解

试题A排列字母

试题B寻找整数

试题C纸张尺寸

试题D位数排序

试题E蜂巢

试题F消除游戏

试题G全排列的价值

试题H技能升级

试题I最长不下降子序列

试题J最优清零方案

本届比赛:两道填空,八道编程题一共150分

题解都是个人思路,不代表全部正确,也有可能出现超时的情况,欢迎大家指正。

超时也不用太担心,因为蓝桥杯是OI赛制,每通过一个测试点,就会一定的分值

试题A排列字母

s=WHERETHEREISAWILLTHEREISAWAY

print(.join(sorted(s)))#对于字符串可以按字典序进行排序

#AAAEEEEEEHHHIIILLRRRSSTTWWWY

试题B寻找整数

分析题目

因为能被11和17整除,11和17互质,所以该整数为187的倍数,

解题分为两步,找出满足一部分数的步长,因为数量级较大,所以找到的步长尽量大

答案:2022040920220409

s=187

c=0

#该整数是187的倍数,且不能被2整除,既为奇数

foriinrange(187,10**17,374):#开始为187,既步长为374

ifi%49==46andi%48==41andi%47==5andi%46==15andi%45==29:#因为需要哦的步长需要很大,所以选数量较大的数

c+=1

print(i)

ifc5:

break

print(12590206409-5458460249)#7131746160

print-12590206409)#7131746160发现规律,开始满足条件的数是5458460249,以后的间隔是7131746160的倍数

mod=[(2,1),(3,2),(4,1),(5,4),(6,5),(7,4),(8,1),(9,2),(10,9),

(11,0),(12,5),(13,10),(14,11),(15,14),(16,9),(17,0),(18,11),(19,18),

(20,9),(21,11),(22,11),(23,15),(24,17),(25,9),(26,23),(27,20),(28,25),(29,16),

(30,29),(31,27),(32,25),(33,11),(34,17),(35,4),(36,29),(37,22),(38,37),(39,23),

(40,9),(41,1),(42,11),(43,11),(44,33),(45,29),(46,15),(47,5),(48,41),(49,46)

]

foriintqdm(range(5458460249,10**17,7131746160)):#开始位置是5458460249步长为7131746160

fora,binmod:

ifi%a!=b:

break

else:

print(i)#forelse结构,当for正常执行结束,则运行else语句

break

1

试题C纸张尺寸

l=1189

w=841

name=input()

num=int(name[1:])

foriinrange(num):

t=l//2#整除

l=w

w=t

print(l)

print(w)

试题D位数排序

使用字典表达式和字典排序

源代码精简

n=int(input())

m=int(input())

#字典解析

dic={k:sum([int(i)foriinstr(k)])forkinrange(1,n+1)}

#根据字典的值进行排序

print(sorted(dic.items(),key=lambdaitem:item[1])[m-1][0])

1

2

3

4

5

6

详细代码

n=int(input())

m=int(input())

dic={k:0forkinrange(1,n+1)}#创建字典

文档评论(0)

如此醉 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档