涉及考试:计算机学会编程能力等级认证(GESP)、电子学会等级考试 活动内容:提供不同等级的真题供小朋友们选择练习 备考建议:根据自己备考的等级选择相应题目 附加价值:可作为白名单比赛的备考训练 本月打卡:八月GESP_Python打卡题目 “Python一级”备考指南 “Python二级”备考指南 “Python三级”备考指南 “Python四级”备考指南
【提交】
https://www.luogu.com.cn/problem/B3921
【问题描述】
今天是星期 ,小杨还有 天就要考试了,你能推算出小杨考试那天是星期几吗?(本题中使用 表示星期日)
【输入描述】
输入 2 行,第一行一个整数 ();第二行一个整数 ()。
【输出描述】
输出一个整数,表示小杨考试那天是星期几。
【特别提醒】
在常规程序中,输入、输出时提供提示是好习惯。但在本场考试中,由于系统限定,请不要在输入、输出中附带任何提示信息。
【样例输入1】
16【样例输出1】
7【样例解释 1】
今天是星期 1,那么 6 天后就是星期日,星期日在本题中用 表示。
【样例输入2】
53【样例输出2】
1【样例解释 2】
今天是星期 5,那么 3 天后就是星期 1。
参考程序:
'''[GESP202312 一级] 小杨的考试https://www.luogu.com.cn/problem/B3921'''X = int(input())N = int(input())a = (X + N) % 7if a == 0: print(7)else: print(a)【提交】
https://www.luogu.com.cn/problem/B4356
【问题描述】
直角三角形有两条直角边与一条斜边,设两条直角边的长度分别为 ,则直角三角形的面积为 。
请你计算当直角边长 均取不超过 的正整数时,有多少个不同的面积为整数的直角三角形。直角边长分别为 和 的两个直角三角形相同,当且仅当 或者 。
【输入描述】
一行,一个整数 ,表示直角边长的最大值。
【输出描述】
输出一行,一个整数,表示不同的直角三角形数量。
【样例输入1】
3【样例输出1】
3【样例输入2】
5【样例输出2】
9【数据范围】
对于所有测试点,保证 。
参考程序:
'''[GESP202506 二级] 数三角形https://www.luogu.com.cn/problem/B4356'''cnt = 0n = int(input())for a in range(1,n+1):for b in range(a,n+1):if a*b%2==0: cnt+=1print(cnt)【提交】
https://www.luogu.com.cn/problem/B4449
【问题描述】
小杨是学校网络安全小组的成员,今天他的任务是设计一个“密码强度检测器”,帮助同学们检查自己的密码是否足够安全。一个安全的密码需要满足以下条件:
例如:
PAs1s2an 是安全密码(有8位、包含大写字母 P、A 和数字 1、2)。ab1da3cd 不是安全密码(没有大写字母)。Paabdbcd 不是安全密码(没有数字)。Pa2 不是安全密码(只有3位,太短了)。【输入描述】
第一行一个正整数 ,代表数据组数。
对于每组数据,一行包含一个字符串,代表需要安全检测的密码。
【输出描述】
对于每组数据输出一行,如果满足强度要求输出 Y,否则输出 N。
【样例输入1】
6PAs1s2an1a2bCql3Pa12bsnaab1da3cdPaabdbcdPa2【样例输出1】
YYYNNN【样例解释】
PAs1s2an 是安全密码(有8位、包含大写字母 P、A 和数字 1、2)。1a2bCql3 是安全密码(有8位、包含大写字母 C 和数字 1、2、3)。Pa12bsna 是安全密码(有8位、包含大写字母 P 和数字 1、2)。ab1da3cd 不是安全密码(没有大写字母)。Paabdbcd 不是安全密码(没有数字)。Pa2 不是安全密码(只有3位,太短了)。【数据范围】
对于所有测试点,保证 ,并且每组数据密码长度不超过 且至少为 。
参考程序:
'''[GESP202512 三级] 密码强度https://www.luogu.com.cn/problem/B4449'''T = int(input())for _ in range(T): s = input()if len(s) < 8: print("N")continue flag1, flag2 = False, Falsefor c in s:if"A" <= c <= "Z": flag1 = Trueif"0" <= c <= "9": flag2 = Trueif flag1 isFalseor flag2 isFalse: print("N")else: print("Y")【提交】
https://www.luogu.com.cn/problem/B3928
【问题描述】
你要和田忌赛马。你们各自有 匹马,并且要进行 轮比赛,每轮比赛,你们都要各派出一匹马决出胜负。
你的马匹的速度分别为 ,田忌的马匹的速度分别为 。田忌会按顺序派出他的马匹,请问你要如何排兵布阵,才能赢得最多轮次的比赛?巧合的是,你和田忌的所有马匹的速度两两不同,因此不可能出现平局。
【输入描述】
第一行一个整数 。保证 。
接下来一行 个用空格隔开的整数,依次为 ,表示你的马匹们的速度。保证 。
接下来一行 个用空格隔开的整数,依次为 ,表示田忌的马匹们的速度。保证 。
【输出描述】
输出一行,表示你最多能获胜几轮。
【特别提醒】
在常规程序中,输入、输出时提供提示是好习惯。但在本场考试中,由于系统限定,请不要在输入、输出中附带任何提示信息。
【样例输入1】
31 3 52 4 6【样例输出1】
2【样例解释1】
第 1 轮,田忌派出速度为 的马匹,你可以派出速度为 的马匹迎战,本轮你获胜。
第 2 轮,田忌派出速度为 的马匹,你可以派出速度为 的马匹迎战,本轮你获胜。
第 3 轮,田忌派出速度为 的马匹,你可以派出速度为 的马匹迎战,本轮田忌获胜。
如此,你可以赢得 2 轮比赛。
【样例输入2】
510 3 5 8 74 6 1 2 9【样例输出2】
5参考程序:
'''GESP202312 四级 田忌赛马https://www.luogu.com.cn/problem/B3928'''n = int(input())a = list(map(int, input().split()))b = list(map(int, input().split()))a.sort()b.sort()h = 0ans = 0for i in range(n):if a[i] > b[h]: ans += 1 h += 1print(ans)青少年编程竞赛交流
「青少年编程竞赛交流群」已成立(适合6至18周岁的青少年),添加小助手微信,让他邀请大家进入学习群。进群之后大家可以参与定期组织的 #21天刷题打卡、 #GESP编程能力测评、 青少年编程等级考试、教育部白名单比赛辅导 以及青少年编程组队竞赛等活动。
