二级
C++ 算法考级专栏
真题分析、矩阵探测、递归回溯与基础语法
🎨 视觉封面【GESP】C++二级练习 luogu-b3687, [语言月赛202212] 数字口袋
📅 2025-01-24·✍️ OneCoder·计算中...·⏱️ 3 分钟
#GESP#C++#多重循环
GESP二级练习,循环分支嵌套,难度★✮☆☆☆。
luogu-B3687 [语言月赛202212] 数字口袋
题目要求
题目描述
小 A 有一个口袋,里面可以装整数。他从 开始,按从小到大的顺序,依次将每个整数装入口袋。
但是口袋是有限的,大小为 ,这就是说,口袋里所有的数字的和不能够超过 。
输入格式
输入只有一行一个整数,表示整数 。
输出格式
输出若干行,每行一个整数,按从小到大的顺序输出口袋里的数字。
样例输入 #1
CONSOLE
1 行
15
样例输出 #1
CONSOLE
5 行
1
2
3
4
5
样例输入 #2
CONSOLE
1 行
9
样例输出 #2
CONSOLE
3 行
1
2
3
数据规模与约定
- 对于 的数据,;
- 对于 的数据,。
题目分析
我们可以使用一个循环来模拟这个过程。我们从1开始,每次将当前的数字加到答案中,直到答案大于n为止。在每次循环中,我们输出当前的数字,然后更新答案。
示例代码
C++
15 行
#include <iostream>
using namespace std;
int main() {
int n; // 输入的整数
cin >> n; // 从输入流中读取整数
int ans = 0; // 初始化答案
for (int i = 1;; i++) { // 从1开始的无限循环
if (ans + i > n) { // 如果当前答案加上i超过n,则退出循环
break;
}
cout << i << endl; // 输出当前数
ans += i; // 更新答案
}
return 0;
}
💡 OneCoder 资源指引
所有代码开源上传至 GitHub:yummy-code 仓库 · GESP 专题站:GESP WIKI
🤝 技术交流与答疑
欢迎加入:C++ GESP/CSP 考级答疑群(688906745) 与 Java/Python交流群(982860385),点击可直接加群。
📚
猜你想读 · 相关文章推荐
OneCoder (lihongzheshuai)
一个中年人的自留地,记录学习 C++、GESP/NOI、Java、Python 与算法架构的心得体会。本站唯一网址:coderli.com
读者讨论与留言
💬 还没有读者留言,快来成为第一个讨论者吧!