文章目录

  • Python【2019年蓝桥杯省赛C++填空】
    • A.平方和
      • 代码:
      • 答案:2658417853
    • B.数列求值
      • 代码:
      • 答案:4659
    • C.最大求雨量
      • 答案:34
    • D.迷宫
      • 代码:
      • 答案:
      • 感想:
    • E.RSA解密
      • 求p、q
      • 求e
      • 求原文
      • 代码:
      • 答案:

Python【2019年蓝桥杯省赛C++填空】

A.平方和

代码:

ans = 0
for i in range(1,2020):s = str(i)if '2' in s or '0' in s or '1' in s or '9' in s:ans += i ** 2
print(ans)

答案:2658417853

B.数列求值

代码:

x, y, z = 1, 1, 1
for i in range(4,20190325):x, y, z = y, z, (x + y + z) % 10000
print(z)

答案:4659

C.最大求雨量

直接找画图找结果就可以了。

答案:34

D.迷宫

01010101001011001001010110010110100100001000101010
00001000100000101010010000100000001001100110100101
01111011010010001000001101001011100011000000010000
01000000001010100011010000101000001010101011001011
00011111000000101000010010100010100000101100000000
11001000110101000010101100011010011010101011110111
00011011010101001001001010000001000101001110000000
10100000101000100110101010111110011000010000111010
00111000001010100001100010000001000101001100001001
11000110100001110010001001010101010101010001101000
00010000100100000101001010101110100010101010000101
11100100101001001000010000010101010100100100010100
00000010000000101011001111010001100000101010100011
10101010011100001000011000010110011110110100001000
10101010100001101010100101000010100000111011101001
10000000101100010000101100101101001011100000000100
10101001000000010100100001000100000100011110101001
00101001010101101001010100011010101101110000110101
11001010000100001100000010100101000001000111000010
00001000110000110101101000000100101001001000011101
10100101000101000000001110110010110101101010100001
00101000010000110101010000100010001001000100010101
10100001000110010001000010101001010101011111010010
00000100101000000110010100101001000001000000000010
11010000001001110111001001000011101001011011101000
00000110100010001000100000001000011101000000110011
10101000101000100010001111100010101001010000001000
10000010100101001010110000000100101010001011101000
00111100001000010000000110111000000001000000001011
10000001100111010111010001000110111010101101111000

代码:

import math
import queue
mp, note, l, ans = [], [[False] * 50 for i in range(30)], math.inf, "Z"
for i in range(0,30):mp.append(input())
note[0][0] = True
q = queue.Queue()
q.put([0,0,''])
while not q.empty():x, y, an = q.get()if x == 29 and y == 49:if len(an) < l:ans, l = an, len(an)if l == len(an):ans = min(ans,an)continueif x < 29 and not note[x + 1][y] and mp[x + 1][y] == '0':q.put([x + 1, y, an + "D"])note[x + 1][y] = Trueif y > 0 and not note[x][y - 1] and mp[x][y - 1] == '0':q.put([x, y - 1, an + "L"])note[x][y - 1] = Trueif y < 49 and not note[x][y + 1] and mp[x][y + 1] == '0':q.put([x, y + 1, an + "R"])note[x][y + 1] = Trueif x > 0 and not note[x - 1][y] and mp[x - 1][y] == '0':q.put([x - 1, y, an + "U"])note[x - 1][y] = True
print(ans)

答案:

DDDDRRURRRRRRDRRRRDDDLDDRDDDDDDDDDDDDRDDRRRURRUURRDDDDRDRRRRRRDRRURRDDDRRRRUURUUUUUUULULLUUUURRRRUULLLUUUULLUUULUURRURRURURRRDDRRRRRDDRRDDLLLDDRRDDRDDLDDDLLDDLLLDLDDDLDDRRRRRRRRRDDDDDDRR

感想:

这个题我只能说,我服了,我不是服了题,我是服了我自己,因为内存、列表被卡,找不出问题,写个搜索题,写了一个早上,是真的nt了。

E.RSA解密

求p、q

n = 1001733993063167141,是1e18的量级,根号n是1e9量级,可以在两分钟之内找出所有n的因子。

n = 1001733993063167141
x = []
for i in range(3,int(n ** 0.5) + 1):if n % i == 0:x.append(i)x.append(n // i)
print(len(x))
print(x)

输出:

[891234941, 1123984201]

所以可以肯定p、q的值就是891234941和 1123984201。

求e

d = 212353

d*e%(p-1)*(q-1)=1

p, q, d = 891234941, 1123984201, 212353
pq = (p - 1) * (q - 1)
print("验证d与(p-1)*(q-1)互质:",end='')
print(math.gcd(pq,d))i = 1
while 1:if (i * pq + 1) % d == 0:e = (i * pq + 1) // dprint(e)break;i += 1

输出

验证d与(p-1)*(q-1)互质:1
823816093931522017

所以e = 823816093931522017

求原文

利用快速幂快速幂【史上最详细最简单讲解快速幂】_Alan_Lowe的博客-CSDN博客

n = 1001733993063167141
e = 823816093931522017
c = 20190324
# e很大,直接求解肯定呀跑很久,用快速幂log2(e)的时间复杂度求解
# 2^20 = 1e6,2 ^ 40 = 1e12,2 ^ 60 = 1e18 时间复杂度为60,很快
# 快速幂实际上就是二进制
def qpow(x,y):ans = 1base = xwhile y:if y & 1:ans = ans * base % nbase = base * base % ny //= 2return ans
print(qpow(c,e))

输出:

579706994112328949

代码:

import math
"""求p、q
n = 1001733993063167141
x = []
for i in range(3,int(n ** 0.5) + 1):if n % i == 0:x.append(i)x.append(n // i)
print(len(x))
print(x)
"""
"""求e
p, q, d = 891234941, 1123984201, 212353
pq = (p - 1) * (q - 1)
print("验证d与(p-1)*(q-1)互质:",end='')
print(math.gcd(pq,d))i = 1
while 1:if (i * pq + 1) % d == 0:e = (i * pq + 1) // dprint(e)break;i += 1
"""n = 1001733993063167141
e = 823816093931522017
c = 20190324
# e很大,直接求解肯定呀跑很久,用快速幂log2(e)的时间复杂度求解
# 2^20 = 1e6,2 ^ 40 = 1e12,2 ^ 60 = 1e18 时间复杂度为60,很快
# 快速幂实际上就是二进制
def qpow(x,y):ans = 1base = xwhile y:if y & 1:ans = ans * base % nbase = base * base % ny //= 2return ans
print(qpow(c,e))

答案:

579706994112328949

Python【2019年蓝桥杯省赛C++填空】相关推荐

  1. 2019年蓝桥杯国赛总结

    2019年蓝桥杯国赛北京站,我们是C/C++B组,赛点在中国农业大学东校区,比赛时间为5月25日下午14点--下午18点,赛完26日上午出成绩,且26日下午13点--16点有个峰会可以凭蓝桥杯准考证领 ...

  2. Python【2021蓝桥杯省赛编程题】

    文章目录 Python[2021蓝桥杯省赛编程题] F.时间显示 G.杨辉三角形 H.左孩子右兄弟 I.异或数列 J.括号序列 Python[2021蓝桥杯省赛编程题] F.时间显示 n = int( ...

  3. 递增序列-2019年蓝桥杯国赛填空题题目答案及分析

    本文纯属记录作者做题时的思路作者纯属小白,可能有许多不正确地方,欢迎大家指点. [题目描述] 本题为填空题,只需要算出结果后,在代码中使用输出语句将所填结果输出即可. 对于一个字母矩阵,我们称矩阵中的 ...

  4. 蓝桥杯省赛复盘(2021填空)

    蓝桥杯省赛复盘(填空题) 第一次参加蓝桥杯,记录一下,并复盘 这是本人第一次参加蓝桥杯,当时从考场出来的时候,心是凉的,寻思着来年再战,结果居然得了个省二,可真是意料之外的惊喜.故写一篇文章记录一下当 ...

  5. 2019年第十届蓝桥杯 - 省赛 - C/C++研究生组 - G. 扫地机器人

    2019年第十届蓝桥杯 - 省赛 - C/C++研究生组 - G. 扫地机器人 Ideas 首先我们根据数学常识可以知道,当每个机器人清扫的范围差不多时,最好都是 N / K,花的时间应该是最少的. ...

  6. 2019 蓝桥杯省赛 B 组模拟赛(一)——计蒜客(未完待续)

    比赛链接: 2019 蓝桥杯省赛 B 组模拟赛(一) 友情提示: 蓝桥杯的头文件,如果不是都记得,可以直接万能头文件 #include <bits/stdc++.h>, 不过有的时候,这样 ...

  7. 2020年第十一届蓝桥杯 - 国赛 - Python大学组 - H.答疑

    题目链接 Ideas 2020年第十一届蓝桥杯 - 国赛 - Python大学组 - H.答疑 Code Python if __name__ == '__main__':n = int(input( ...

  8. 2020年第十一届蓝桥杯 - 省赛 - Python大学组 - D.蛇形填数

    这道题同样还是: 2020年第十一届蓝桥杯 - 省赛 - C/C++研究生组 - D.蛇形填数 2020年第十一届蓝桥杯 - 省赛 - Java研究生组 - D.蛇形填数 Ideas 这题其实严格意义 ...

  9. 第十一届蓝桥杯python试题_Python描述 第十一届蓝桥杯省赛第一场 试题 I: 字符串编码...

    试题 I: 字符串编码 时间限制: 1.0s 内存限制: 512.0MB 本题总分 25 分 [问题描述] 小明发明了一种给由全大写字母组成的字符串编码的方法.对于每一个大 写字母 小明将它转换成它在 ...

最新文章

  1. 英伟达深度学习推理引擎TensorRT,现在开源了
  2. Hibernate标识符属性(主键)生成策略全析
  3. R3 data related to category and hierarchy mapping logic in CRM
  4. 图片裁剪和异步上传插件--一步到位(记录)
  5. 毕啸南专栏 | 对话王小川:搜狗不是谁的“变量”,是行业主要玩家
  6. 转-python面试题目集锦(100道部分附答案)
  7. FMEA软件功能失效矩阵-交叉表 vs 树形矩阵
  8. 《演讲基础》学习笔记
  9. 交警对开车人的“真言”
  10. java实现基于okhttp3的http请求封装(GET/POST/PUT/DELETE等方法)
  11. BitTorrent下载原理和演示
  12. android获取版本信息、屏幕信息和设备编号
  13. [转] Julia 高性能动态编程语言入门
  14. macOS Xcode8安装RVM,安装Ruby,安装/卸载Cococapods全程详解
  15. 微信视频压缩画质怎么办?微信发视频怎么不压缩画质
  16. iptables -j MARK --set-xmark 解析
  17. ubuntu20.04新系统安装网卡驱动显卡驱动等问题汇总
  18. Win7系统只要一打开浏览器就死机 win7打开网页浏览器卡死怎么办
  19. 重温CSS3常见新特性的奥秘(个人总结)
  20. python3 之 趣味数学题(爱因斯坦)

热门文章

  1. 淘淘商城——生成订单
  2. Olaparib 有望治疗 UBQLN4 过表达型肿瘤
  3. 拉斯维加斯算法与N皇后问题
  4. html密码验证怎么实现页面,JavaScript实现简单的密码验证
  5. c语言 swtich写简单菜单输出各种图形
  6. JAVA毕业设计家教到家平台计算机源码+lw文档+系统+调试部署+数据库
  7. Opencv中的大津阈值分割算法
  8. Controller Area Network(CAN)简介
  9. 系统检测到您的访问行为异常 请正确输入以下验证码,验证通过后,可继续使用经验
  10. orientDB导入CSV数据