涉及考试:计算机学会编程能力等级认证(GESP)、电子学会等级考试 活动内容:提供不同等级的真题供小朋友们选择练习 备考建议:根据自己备考的等级选择相应题目 附加价值:可作为白名单比赛的备考训练 本月打卡:本月GESP_Python打卡题目
【提交】
https://www.luogu.com.cn/problem/B4001
【问题描述】
小杨有一个正整数 ,他想知道 是否是一个立方数。
一个正整数 是立方数当且仅当存在一个正整数 满足 。
【输入描述】
第一行包含一个正整数 。
【输出描述】
如果正整数 是一个立方数,输出 Yes,否则输出 No。
【样例输入1】
8【样例输出1】
Yes【样例输入2】
9【样例输出2】
No【样例解释】
对于样例1,存在正整数 使得 ,因此 为立方数。
对于样例2,不存在满足条件的正整数,因此 不为立方数。
【数据范围】
对于全部数据,保证有 。
参考程序:
'''GESP2024.06 立方数https://www.luogu.com.cn/problem/B4001'''n = int(input())i, flag = 1, Falsewhile i ** 3 <= n:if i ** 3 == n: flag = Truebreak i += 1if flag: print("Yes")else: print("No")【提交】
https://www.luogu.com.cn/problem/B3923
【问题描述】
为了准备考试,小杨每天都要做题。第 1 天,小杨做了 道题;第 2 天,小杨做了 道题;从第 3 天起,小杨每天做的题目数量是前两天的总和。
此外,小杨还规定,当自己某一天做了大于或等于 题时,接下来的所有日子里,他就再也不做题了。
请问,到了第 天,小杨总共做了多少题呢?
【输入描述】
总共 4 行。第一行一个整数 ,第二行一个整数 ,第三行一个整数 ,第四行一个整数 。
保证 ;;。
【输出描述】
一行一个整数,表示小杨 天里总共做了多少题目。
【特别提醒】
在常规程序中,输入、输出时提供提示是好习惯。但在本场考试中,由于系统限定,请不要在输入、输出中附带任何提示信息。
【样例输入1】
12105【样例输出1】
19【样例解释 1】
小杨第一天做 题,第二天做 题,第三天做 题,第四天做 题,第五天做 题。因此他总共做了 题。
【样例输入2】
1158【样例输出2】
12【样例解释 2】
小杨前 5 天分别做了 题,由于第 5 天小杨做了 题,而 ,于是小杨从此以后不再做题。因此小杨总共做了 题。
参考程序:
'''[GESP202312 二级] 小杨做题https://www.luogu.com.cn/problem/B3923'''a = int(input())b = int(input())m = int(input())n = int(input())ans = a + bfor i in range(3, n + 1): c = a + b ans += c a = b b = cif c >= m:breakprint(ans)【提交】
https://www.luogu.com.cn/problem/B4039
【问题描述】
一个字符串是回文串,当且仅当该字符串从前往后读和从后往前读是一样的,例如, 和 都是回文串,但 不是。
小杨有 个仅包含小写字母的字符串,他想请你编写程序判断每个字符串是否由两个长度至少为 的回文串前后拼接而成。
【输入描述】
第一行包含一个正整数 ,代表字符串数量。
之后 行每行一个仅包含小写字母的字符串。
【输出描述】
对于每个字符串输出一行,如果该字符串由两个长度至少为 的回文串前后拼接而成则输出 Yes,否则输出 No。
【样例输入1】
4abcdaabbbaaacabcdd【样例输出1】
NoYesNoNo【提示】
对于第 个字符串,都不是由两个长度至少为 的回文串前后拼接而成。
第 个字符串由回文串 和 前后拼接而成,并且两个回文串长度都至少为 。
对于全部数据,保证有 ,并且每个字符串的长度不超过 。
参考答案:
'''[GESP202409 三级] 回文拼接https://www.luogu.com.cn/problem/B4039'''n = int(input())for i in range(n): s = input() j = 1while j <= len(s) - 2: s1 = s[:j] s2 = s[j:]if s1 == s1[::-1] and s2 == s2[::-1]: print("Yes")break j += 1if j > len(s) - 2: print("No")【提交】
https://www.luogu.com.cn/problem/B4264
【问题描述】
小 A 有一个 行 列的矩阵 。
小 A 认为一个 的矩阵 是好的,当且仅当 。其中 表示矩阵 的第 行第 列的元素。
小 A 想知道 中有多少个好的子矩阵。
【输入描述】
第一行,两个正整数 。
接下来 行,每行 个整数 。
【输出描述】
一行,一个整数,表示 中好的子矩阵的数量。
【样例输入1】
3 41 2 1 02 4 2 10 3 3 0【样例输出1】
2【样例解释】
样例中好的子矩阵如下:

【数据范围】
对于所有测试点,保证 ,,
参考程序:
'''[GESP202503 四级] 二阶矩阵https://www.luogu.com.cn/problem/B4264'''n, m = list(map(int, input().split()))lst = []ans = 0for _ in range(n): lst.append(list(map(int, input().split())))for i in range(n - 1):for j in range(m - 1):if lst[i][j] * lst[i + 1][j + 1] == lst[i][j + 1] * lst[i + 1][j]: ans += 1print(ans)青少年编程竞赛交流
「青少年编程竞赛交流群」已成立(适合6至18周岁的青少年),添加小助手微信,让他邀请大家进入学习群。进群之后大家可以参与定期组织的21天刷题打卡、等级考试测评、教育部白名单比赛辅导以及青少年编程组队竞赛等活动。
