当前位置:首页>python>【GESP】2026年03月Python三级 -- 凯撒密码

【GESP】2026年03月Python三级 -- 凯撒密码

  • 2026-10-11 07:10:32
【GESP】2026年03月Python三级 -- 凯撒密码

跟老马一起“升级打怪”学编程!

旨在为小朋友们提供全面的学习材料,共同为等级考试做好准备。

添加小助手微信,回复【GESP三级2026.03_凯撒密码】,获取本题源代码。

GESP三级2026.03_凯撒密码

【提交】

https://www.luogu.com.cn/problem/B4500

【问题描述】

凯撒密码是一种替换加密技术,明文中的所有字母都在字母表上向后(或向前)按照一个固定数目进行偏移后被替换成密文。例如,当偏移量是  的时候,所有的字母  将被替换成 , 变成 , 变成 ,以此类推, 变成 。这个加密方法是以罗马共和时期凯撒的名字命名的,据称当年凯撒曾用此方法与其将军们进行联系。

但是和所有的利用字母表进行替换的加密技术一样,凯撒密码非常容易被破解,而且在实际应用中也无法保证通信安全。

现在给你一个已破解的凯撒密码明文与密文,与一个有相同偏移量的未破解凯撒密码密文,请你帮忙破解它。

【输入描述】

输入共三行:

第一行包含一个字符串,表示已破解的凯撒密码明文;

第二行包含一个字符串,表示已破解的凯撒密码密文;

第三行包含一个字符串,表示待破解的凯撒密码密文。

【输出描述】

输出一行,包含一个字符串,表示待破解的凯撒密码对应的明文。

【样例输入1】

ABCDEFGVWXYZDEFGHIJYZABCWKHTXLFNEURZQIRAMXPSVRYHUWKHODCBGRJ

【样例输出1】

THEQUICKBROWNFOXJUMPSOVERTHELAZYDOG

【样例解释】

样例 1 中,通过已破解的密码得出偏移量为 'D' - 'A' = 3,故而未破解的密码中 W 对应的字母为 'W' - 3 = 'T',K 对应的字母为 'K' - 3 = 'H',以此类推。

【数据范围】

保证密码长度均不超过 ,所有字符串由大写字母组成。

参考程序:

"""[GESP202603 三级] 凯撒密码https://www.luogu.com.cn/problem/B4500"""str1 = input()str2 = input()str3 = input()d = (ord(str2[0]) - ord(str1[0]) + 26) % 26s = ""for i in str3:    pos = ord(i) - ord('A') - dif pos < 0:        pos += 26    s += chr(ord('A') + pos)print(s)

青少年编程竞赛交流

「青少年编程竞赛交流群」已成立(适合6至18周岁的青少年),添加小助手微信,让他邀请大家进入学习群。进群之后大家可以参与定期组织的21天刷题打卡、等级考试测评、教育部白名单比赛辅导以及青少年编程组队竞赛等活动。

最新文章

随机文章