[语言月赛202212] 数字口袋

[语言月赛202212] 数字口袋

GESP二级练习,循环分支嵌套,难度★✮☆☆☆。

luogu-B3687 [语言月赛202212] 数字口袋

题目要求

题目描述

小 A 有一个口袋,里面可以装整数。他从 11 开始,按从小到大的顺序,依次将每个整数装入口袋。

但是口袋是有限的,大小为 nn,这就是说,口袋里所有的数字的和不能够超过 nn

输入格式

输入只有一行一个整数,表示整数 nn

输出格式

输出若干行,每行一个整数,按从小到大的顺序输出口袋里的数字。

样例输入 #1

15

样例输出 #1

1
2
3
4
5

样例输入 #2

9

样例输出 #2

1
2
3

数据规模与约定

  • 对于 40%40\% 的数据,n103n\le 10^3
  • 对于 100%100\% 的数据,1n1091\le n \le 10^9

题目分析

我们可以使用一个循环来模拟这个过程。我们从1开始,每次将当前的数字加到答案中,直到答案大于n为止。在每次循环中,我们输出当前的数字,然后更新答案。

{% include custom/custom-post-content-inner.html %}

示例代码

#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;
}

{% include custom/custom-post-content-footer.md %}

所有代码已上传至Github:https://github.com/lihongzheshuai/yummy-code

luogu-”系列题目可在 洛谷题库 在线评测。

bcqm-”系列题目可在 编程启蒙题库 在线评测。

GESP/CSP 认证学习微信公众号
GESP/CSP 认证学习微信公众号
Last updated on