# 蓝桥刷题
1. 不同字串
```python
"""
一个字符串的非空子串是指字符串中长度至少为1
的连续的一段字符组成的串。例如,字符串aaab
有非空子串a, b, aa, ab, aaa, aab, aaab,一共
7个。 注意在计算时,只算本质不同的串的个数。
请问,字符串0100110001010001
有多少个不同的非空子串?
这是一道结果填空的题,你只需要算出结果后提交即可。
本题的结果为一 个整数,在提交答案时只填写这个整数,
填写多余的内容将无法得分。
"""
s = '0100110001010001'
# s = 'aaab'
sep = 1 # 连续的sep个字符的子串
count = 0
set1 = set() # 空集合,利用集合的不重复性
while sep <= len(s):
set1.add(s[0:sep])
for i in range(len(s) - sep):
set1.add(s[i+1:i+sep+1]) # 集合自动去掉重复的
sep += 1
count += len(set1) # 去重后的个数
print(set1)
set1.clear()
print(count)
# {'b', 'a'}
# {'ab', 'aa'}
# {'aab', 'aaa'}
# 7
#
# {'1', '0'}
# {'10', '11', '01', '00'}
# {'110', '000', '010', '100', '001', '011', '101'}
# {'0101', '0110', '0010', '0001', '1100', '1001', '0011', '1010', '1000', '0100'}
# {'00101', '00010', '11000', '01001', '00110', '01010', '01100', '10011', '10001', '01000', '10100'}
# {'010011', '000101', '001100', '001010', '101000', '010100', '100010', '100110', '010001', '011000', '110001'}
# {'0011000', '0101000', '1000101', '0001010', '1010001', '1001100', '0010100', '1100010', '0110001', '0100110'}
# {'00010100', '10011000', '10001010', '00110001', '11000101', '00101000', '01001100', '01100010', '01010001'}
# {'000101000', '011000101', '110001010', '001010001', '010011000', '001100010', '100110001', '100010100'}
# {'1000101000', '0100110001', '1001100010', '0110001010', '0011000101', '1100010100', '0001010001'}
# {'10011000101', '10001010001', '11000101000', '01001100010', '00110001010', '01100010100'}
# {'011000101000', '001100010100', '010011000101', '100110001010', '110001010001'}
# {'0011000101000', '1001100010100', '0100110001010', '0110001010001'}
# {'01001100010100', '10011000101000', '00110001010001'}
# {'010011000101000', '100110001010001'}
# {'0100110001010001'}
# 100
# 直接提交100即可
```
2. 年号字串
```python
"""
小明用字母A 对应数字1,B 对应2,以此类推,用Z 对应26。对于27
以上的数字,小明用两位或更长位的字符串来对应,例如AA 对应27,AB 对
应28,AZ 对应52,LQ 对应329。
请问2019 对应的字符串是什么?
"""
# # 进制转换一般都是用除K取余法
# num = 2019
# print(num % 26, num // 26)
# print(77 % 26, 77 // 26)
# print(2 % 26, 2 // 26)
# print(chr(ord('A') + 17 - 1))
# print(chr(ord('A') + 25 - 1))
# print(chr(ord('A') + 2 - 1))
# # BYQ
# # 验算
# # LQ 329
# print(ord('Q')-ord('A')+1 + (ord('L')-ord('A')+1) * 26) # 329
# # BYQ 2019
# print(ord('Q')-ord('A')+1 + (ord('Y')-ord('A')+1) * 26 + (ord('B')-ord('A')+1) * 26 ** 2) # 2019
# # 所以提交BYQ
#
# # 2019 转成16进制
# # print(2019 % 16, 2019 // 16)
# # print(126 % 16, 126 // 16)
# # print(3 + 14 * 16 + 7 * 16 ** 2)
# # 7E3
# 最后整理一下代码
year = 2019
lst = []
while year != 0:
lst.append(chr(ord('A') + year % 26 - 1))
year = year // 26
# reversed(lst)
lst.reverse()
print(*lst) # B Y Q
```
3. 数列求值
```python
"""
【问题描述】
给定数列 1, 1, 1, 3, 5, 9, 17, …,从第 4 项开始,每项都是前 3 项的和。
求第 20190324 项的最后 4 位数字。
【答案提交】
这是一道结果填空的题,你只需要算出结果后提交即可。
本题的结果为一个 4 位整数(提示:答案的千位不为 0),
在提交答案时只填写这个整数,填写多余的内容将无法得分。
"""
# 本来想考虑用生成器来做,以达到节省内存的效果。
# 但是尝试了一下发现不太行。
# 有哪位大神可以解决吗?
# 望分享。
lst = [1, 1, 1]
for i in range(3, 20190324):
lst.append((lst[i-3] + lst[i-2] + lst[i-1]) % 10000)
print(lst[-1]) # 4659
```
4. 数的分解
```python
"""
把 2019 分解成 3 个各不相同的正整数之和,并且要求每个正整数都不包含数字 2 和 4,一共有多少种不同的分解方法?
注意交换 3 个整数的顺序被视为同一种方法,例如 1000+1001+18 和 1001+1000+18 被视为同一种。
这是一道结果填空的题,你只需要算出结果后提交即可。本题的结果为一 个整数,在提交答案时只填写这个整数,填写多余的内容将无法得分。
"""
def check(x):
while x != 0:
a = x % 10
if a == 2 or a == 4:
return True
x = x // 10
return False
num = 2019
lst = []
for i in range(1, num + 1):
if check(i):
continue
for j in range(i + 1, num - i + 1):
if check(j):
continue
for k in range(j + 1, num - i - j + 1):
if check(k):
continue
if i + j + k == num:
lst.append([i, j, k])
# print(lst)
print(len(lst))
# 40785
```
5. 特别数的和
```python
"""
小明对数位中含有 2、0、1、9 的数字很感兴趣(不包括前导 0),
在 1 到 40 中这样的数包括 1、2、9、10 至 32、39 和 40,共 28 个,
他们的和是 574。 请问,在 1 到 n 中,所有这样的数的和是多少?
输入一行包含一个整数 n。
输出一行,包含一个整数,表示满足条件的数的和。
【样例输入】
40
【样例输出】
574
对于 20% 的评测用例,1≤n≤10。
对于 50% 的评测用例,1≤n≤100。
对于 80% 的评测用例,1≤n≤1000。
对于所有评测用例,1≤n≤10000。
"""
n = int(input())
num = 0
for i in range(1, n + 1):
a = i
while a != 0:
b = a % 10
if b in [2, 0, 1, 9]:
num += i
break
a = a // 10
print(num)
# 10000
# 41951713
# 数据规模不大,直接暴力求解
```
6. 迷宫
```python
"""
下图给出了一个迷宫的平面图,其中标记为 1 的为障碍,标记为 0 的为可 以通行的地方。
010000
000100
001001
110000
迷宫的入口为左上角,出口为右下角,在迷宫中,只能从一个位置走到这 个它的上、下、左、右四个方向之一。
对于上面的迷宫,从入口开始,可以按DRRURRDDDR 的顺序通过迷宫, 一共 10 步。其中 D、U、L、R
分别表示向下、向上、向左、向右走。 对于下面这个更复杂的迷宫(30 行 50 列),请找出一种通过迷宫的方式,
其使用的步数最少,在步数最少的前提下,请找出字典序最小的一个作为答案。
请注意在字典序中D<L<R<U。
(如果你把以下文字复制到文本文件中,请务 必检查复制的内容是否与文档中的一致。
在试题目录下有一个文件 maze.txt, 内容与下面的文本相同)
这是一道结果填空的题,你只需要算出结果后提交即可。本题的结果为一 个字符串,
包含四种字母 D、U、L、R,在提交答案时只填写这个字符串,填 写多余的内容将无法得分.
"""
class Node(object):
def __init__(self, x, y, c):
self.x = x
self.y = y
self.c = c
def __str__(self):
return self.c
def up(node):
r
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
蓝桥杯46道真题题解(Python实现).zip 蓝桥杯46道真题题解(Python实现).zip 蓝桥杯46道真题题解(Python实现).zip 蓝桥杯46道真题题解(Python实现).zip 蓝桥杯46道真题题解(Python实现).zip 蓝桥杯46道真题题解(Python实现).zip 蓝桥杯46道真题题解(Python实现).zip 蓝桥杯46道真题题解(Python实现).zip 蓝桥杯46道真题题解(Python实现).zip 蓝桥杯46道真题题解(Python实现).zip 蓝桥杯46道真题题解(Python实现).zip 蓝桥杯46道真题题解(Python实现).zip 蓝桥杯46道真题题解(Python实现).zip 蓝桥杯46道真题题解(Python实现).zip 蓝桥杯46道真题题解(Python实现).zip 蓝桥杯46道真题题解(Python实现).zip 蓝桥杯46道真题题解(Python实现).zip 蓝桥杯46道真题题解(Python实现).zip 蓝桥杯46道真题题解(Python实现).zip 蓝桥杯46道真题题解(Python实现).zip
资源推荐
资源详情
资源评论
收起资源包目录
蓝桥杯46道真题题解(Python实现).zip (55个子文件)
蓝桥杯46道真题题解(Python实现)
.DS_Store 6KB
蓝桥真题解析
分数.py 1KB
迷宫2.py 3KB
平方和.py 216B
序列计数.py 1KB
植树.py 4KB
数位递增的数.py 1KB
外卖店优先级.py 2KB
递增三元组.py 1KB
RAS解密.py 452B
晚会节目单.py 1KB
质数.py 241B
年号字串.py 1KB
旋转.py 309B
数字9.py 676B
15.125MB.py 306B
全球变暖.py 2KB
等差数列.py 2KB
修改数组.py 173B
长草.py 2KB
人物相关性分析.py 1KB
购物单.py 5KB
第几个幸运数.py 1KB
合根植物.py 1KB
矩形切割.py 163B
平闰年.py 1KB
换钞票.py 950B
音节判断.py 2KB
承压计算.py 3KB
约数个数.py 402B
乘积尾零.py 1KB
最大降雨量.py 536B
特别数的和.py 998B
糖果.py 769B
FJ字符串.py 560B
数列求值.py 709B
括号.py 846B
完全二叉树的和.py 2KB
方格分割.py 1KB
迷宫.py 3KB
数的分解.py 1001B
test.py 3KB
叶节点数.py 2KB
不同子串.py 2KB
等差素数列.py 2KB
组队.py 610B
判断两个圆之间的关系.py 2KB
数据
maze 1KB
team.txt 301B
com_info 1KB
m 1KB
num 488B
maze2 109B
README.md 31KB
readme.txt 0B
共 55 条
- 1
资源评论
张无忌打怪兽
- 粉丝: 2055
- 资源: 1197
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功