当前位置:首页>python>【第40期】21天养成编程习惯:Python刷题第12天

【第40期】21天养成编程习惯:Python刷题第12天

  • 2026-10-11 07:10:21
【第40期】21天养成编程习惯:Python刷题第12天

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

  • 涉及考试:计算机学会编程能力等级认证(GESP)、电子学会等级考试
  • 活动内容:提供不同等级的真题供小朋友们选择练习
  • 备考建议:根据自己备考的等级选择相应题目
  • 附加价值:可作为白名单比赛的备考训练
  • 本月打卡:本月GESP_Python打卡题目

Day12:GESP一级2025.06_假期阅读

【提交】

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

【问题描述】

小 A 有一本厚厚的书。这本书总共有  页,小 A 一天中最多只能阅读完其中的  页。小 A 的假期总共有  天,他想知道在假期中最多能阅读完这本书的多少页。

【输入描述】

第一行,一个正整数 ,表示书的页数。

第二行,一个正整数 ,表示小 A 每天最多阅读的页数。

第三行,一个正整数 ,表示小 A 假期的天数。

【输出描述】

一行,一个整数,表示假期中所能阅读的最多页数。

【样例输入1】

832

【样例输出1】

6

【样例输入2】

19330

【样例输出2】

19

【提示】

对于所有测试点,保证  均不超过 。

参考程序:

'''[GESP202506 一级] 假期阅读https://www.luogu.com.cn/problem/B4354'''n = int(input())k = int(input())t = int(input())ans = t * kif ans <= n:    print(ans)else:    print(n)

Day12:GESP二级2026.03_数数

【提交】

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

【问题描述】

对于正整数 ,如果  的所有数位中包含恰好 个 ,Alice 会认为这个正整数是美丽的。例如,正整数  中包含  个 ,所以 是美丽的;正整数  中包含  个 ,所以 不是美丽的;正整数  中包含  个 ,所以 不是美丽的。

Alice 想知道正整数  到正整数  (包括  和 )中有多少美丽的正整数,你能帮她数一数吗?

【输入描述】

输入共  行,第一行为正整数 ,第二行为正整数 。

【输出描述】

输出一行,包含一个整数 ,表示  到  中  美丽数的数量。

【样例输入1】

22212223

【样例解释】

 到  中, 与  是美丽的, 不是美丽的。

【数据范围】

保证 。

参考程序:

'''[GESP202603 二级] 数数https://www.luogu.com.cn/problem/B4497'''L = int(input())R = int(input())ans = 0for i in range(L, R + 1):    k = i    cnt = 0while k != 0:if k % 10 == 2:            cnt += 1        k = k // 10if cnt == 3:        ans += 1print(ans)

Day12: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)

Day12:GESP四级2024.12_字符排序

【提交】

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

【问题描述】

小杨有  个仅包含小写字母的字符串 ,小杨想将这些字符串按一定顺序排列后拼接到一起构成字符串 。小杨希望最后构成的字符串  满足:

假设  为字符串  的第  个字符,对于所有的  均有 。两个字符的大小关系与其在字母表中的顺序一致,例如。

小杨想知道是否存在满足条件的字符串排列顺序。

【输入描述】

第一行包含一个正整数 ,代表测试数据组数。

对于每组测试数据,第一行包含一个正整数 ,含义如题面所示。

之后  行,每行包含一个字符串 。

【输出描述】

对于每组测试数据,如果存在满足条件的排列顺序,输出 1,否则输出 0。

【样例输入1】

33aaacde2aacbc1gesp

【样例输出1】

100

【样例解释】

对于第一组测试数据,一种可行的排列顺序为 aa+ac+de,构成的字符串  为 aaacde,满足条件。

【数据范围】

对于全部数据,保证有 ,每个字符串的长度不超过 。

参考程序:

'''GESP202412 四级 字符排序https://www.luogu.com.cn/problem/B4069'''T = int(input())for _ in range(T):    lst = []    n = int(input())for _ in range(n):        s = input()        lst.append(s)    lst.sort()    r1 = "".join(lst)    r2 = "".join(sorted(list(r1)))if r1 == r2:        print(1)else:        print(0)

青少年编程竞赛交流

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

最新文章

随机文章