GESP认证C++编程真题解析 | 202312 一级
欢迎大家订阅我的专栏:算法题解:C++与Python实现!
本专栏旨在帮助大家从基础到进阶 ,逐步提升编程能力,助力信息学竞赛备战!
专栏特色
1.经典算法练习:根据信息学竞赛大纲,精心挑选经典算法题目,提供清晰的代码实现与详细指导,帮助您夯实算法基础。
2.系统化学习路径:按照算法类别和难度分级,从基础到进阶,循序渐进,帮助您全面提升编程能力与算法思维。
适合人群:
- 准备参加蓝桥杯、GESP、CSP-J、CSP-S等信息学竞赛的学生
- 希望系统学习C++/Python编程的初学者
- 想要提升算法与编程能力的编程爱好者
附上汇总帖:GESP认证C++编程真题解析 | 汇总
编程题
B3921 小杨的考试
【题目来源】
洛谷:B3921 [GESP202312 一级] 小杨的考试 - 洛谷
【题目描述】
今天是星期 \(X\),小杨还有 \(N\) 天就要考试了,你能推算出小杨考试那天是星期几吗?(本题中使用 \(7\) 表示星期日)
【输入】
输入 \(2\) 行,第一行一个整数 \(X(1\le X\le 7)\);第二行一个整数 \(N(1\le N \le 364)\)。
【输出】
输出一个整数,表示小杨考试那天是星期几。
【输入样例】
1
6
【输出样例】
7
【算法标签】
《洛谷 B3921 小杨的考试》 #分支结构# #GESP# #2023#
【代码详解】
#include <bits/stdc++.h> // 包含标准库头文件
using namespace std; // 使用标准命名空间
int x, n; // x:初始星期几,n:经过的天数
int main() {
cin >> x >> n; // 输入初始星期几和经过的天数
// 循环n次,模拟每一天的变化
for (int i = 1; i <= n; i++) {
x = x + 1; // 星期数加1
if (x > 7) { // 如果超过7(星期日)
x = 1; // 重置为星期一
}
}
cout << x << endl; // 输出最终星期几
return 0; // 程序正常结束
}
【运行结果】
1
6
7
B3922 小杨报数
【题目来源】
洛谷:B3922 [GESP202312 一级] 小杨报数 - 洛谷
【题目描述】
小杨需要从 \(1\) 到 \(N\) 报数。在报数过程中,小杨希望跳过 \(M\) 的倍数。例如,如果 \(N=5\),\(M=2\),那么小杨就需要依次报出 \(1\)、\(3\)、\(5\)。 现在,请你依次输出小杨报的数。
【输入】
输入 \(2\) 行,第一行一个整数 \(N(1≤N≤1,000)\);第二行一个整数 \(M(2≤M≤100)\)。
【输出】
输出若干行,依次表示小杨报的数。
【输入样例】
5
2
【输出样例】
1
3
5
【算法标签】
《洛谷 B3922 小杨报数》 #循环结构# #GESP# #2023#
【代码详解】
#include <bits/stdc++.h> // 包含标准库头文件
using namespace std; // 使用标准命名空间
int n, m; // n:数字范围上限,m:要跳过的倍数
int main() {
cin >> n >> m; // 输入数字范围n和倍数m
// 遍历1到n的所有数字
for (int i = 1; i <= n; i++) {
// 如果i是m的倍数,跳过不输出
if (i % m == 0) {
continue; // 跳过当前迭代
}
// 否则输出该数字
else {
cout << i << endl;
}
}
return 0; // 程序正常结束
}
【运行结果】
5
2
1
3
5

浙公网安备 33010602011771号