欢迎大家订阅我的专栏:算法题解:C++与Python实现!
本专栏旨在帮助大家从基础到进阶 ,逐步提升编程能力,助力信息学竞赛备战!
专栏特色
1.经典算法练习:根据信息学竞赛大纲,精心挑选经典算法题目,提供清晰的代码实现与详细指导,帮助您夯实算法基础。
2.系统化学习路径:按照算法类别和难度分级,从基础到进阶,循序渐进,帮助您全面提升编程能力与算法思维。
适合人群:
- 准备参加蓝桥杯、GESP、CSP-J、CSP-S等信息学竞赛的学生
- 希望系统学习C++/Python编程的初学者
- 想要提升算法与编程能力的编程爱好者
附上汇总帖:GESP认证C++编程真题解析 | 汇总
编程题
B3836 百鸡问题
【题目来源】
洛谷:[B3836 GESP202303 二级] 百鸡问题 - 洛谷
【题目描述】
“百鸡问题”是出自我国古代《张丘建算经》的著名数学问题。大意为:
“每只公鸡 \(5\) 元,每只母鸡 \(3\) 元,每 \(3\) 只小鸡 \(1\) 元;现在有 \(100\) 元,买了 \(100\) 只鸡,共有多少种方案?”
小明很喜欢这个故事,他决定对这个问题进行扩展,并使用编程解决:如果每只公鸡 \(x\) 元,每只母鸡 \(y\) 元,每 \(z\) 只小鸡 \(1\) 元;现在有 \(n\) 元,买了 \(m\) 只鸡,共有多少种方案?
【输入】
输入一行,包含五个整数,分别为问题描述中的 \(x\),\(y\),\(z\),\(n\),\(m\)。约定 \(1 \le x,y,z \le 10\),\(1 \le n,m \le 1000\)。
【输出】
输出一行,包含一个整数 \(C\),表示有 \(C\) 种方案。
【输入样例】
5 3 3 100 100
【输出样例】
4
【算法标签】
《洛谷 B3836 百鸡问题》 #循环结构# #GESP# #2023#
【代码详解】
#include <bits/stdc++.h>
using namespace std;int x, y, z; // 三种单位的价格
int n; // 总价
int m; // 总数量
int ans; // 可行方案数量int main()
{// 输入三种单位的价格cin >> x >> y >> z;// 输入总价和总数量cin >> n >> m;// 枚举第一种单位的数量ifor (int i = 0; i <= m; i++){// 枚举第二种单位的数量jfor (int j = 0; j <= m - i; j++){ // 计算第三种单位的数量kint k = m - i - j;// 检查条件:总价等于n 且 k能被z整除if (x * i + y * j + k / z == n && k % z == 0){ans++; // 增加可行方案数量}}}// 输出可行方案数量cout << ans << endl;return 0;
}
【运行结果】
5 3 3 100 100
4
B3837 画三角形
【题目来源】
洛谷:[B3837 GESP202303 二级] 画三角形 - 洛谷
【题目描述】
输入一个正整数 \(n\),请使用大写字母拼成一个这样的三角形图案(参考样例输入输出):三角形图案的第 \(1\) 行有 \(1\) 个字母,第 \(2\) 行有 \(2\) 个字母,以此类推;在三角形图案中,由上至下、由左至右依次由大写字母 \(\texttt{A}-\texttt{Z}\) 填充,每次使用大写字母 \(\texttt Z\) 填充后,将从头使用大写字母 \(\texttt A\) 填充。
【输入】
输入一行,包含一个正整数 \(n\)。约定 \(2 \le n \le 40\)。
【输出】
输出符合要求的三角形图案。注意每行三角形图案的右侧不要有多余的空格。
【输入样例】
3
【输出样例】
A
BC
DEF
【算法标签】
《洛谷 B3837 画三角形》 #循环结构# #GESP# #2023#
【代码详解】
#include <bits/stdc++.h>
using namespace std;int n; // 输入的行数
char c = 'A'; // 当前输出的字符,从A开始int main()
{// 输入行数cin >> n;// 外层循环:控制行数for (int i = 1; i <= n; i++){// 内层循环:控制每行的字符数for (int j = 1; j <= i; j++){// 输出当前字符cout << c;// 更新字符if (c < 'Z'){c++; // 如果小于Z,移动到下一个字母}else{c = 'A'; // 如果达到Z,重置为A}}// 每行结束后换行cout << endl;}return 0;
}
【运行结果】
3
A
BC
DEF