涉及考试:计算机学会编程能力等级认证(GESP)、电子学会等级考试 活动内容:提供不同等级的真题供小朋友们选择练习 备考建议:根据自己备考的等级选择相应题目 附加价值:可作为白名单比赛的备考训练 本月打卡:本月GESP_Python打卡题目
【提交】
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)【提交】
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)【提交】
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)【提交】
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天刷题打卡、等级考试测评、教育部白名单比赛辅导以及青少年编程组队竞赛等活动。
