1 条题解

  • 0
    @ 2026-6-19 10:30:22

    📝 题目大意

    给定一个整数 NN,按从大到小的顺序输出所有不超过 NN 的非负整数(即 N,N1,,1,0N, N-1, \dots, 1, 0),每个数占一行。

    💡 解题思路

    1. 题目分析NN 的范围是 1N1001 \leq N \leq 100,数据量极小,直接模拟即可。需要输出从 NN00(包含 00)的所有整数,共 N+1N+1 个数。
    2. 算法推导:用一个 for 循环,循环变量 iiNN 递减到 00,每次输出 ii 并换行。无需任何额外数据结构或预处理。
    3. 边界与细节:注意 00 也是非负整数,必须输出。循环条件为 i >= 0,不能写成 i > 0

    ⏱️ 复杂度分析

    • 时间复杂度O(N)O(N),需要输出 N+1N+1 个数。
    • 空间复杂度O(1)O(1),仅使用常数个变量。

    💻 标准代码 (C++)

    #include<bits/stdc++.h>
    using namespace std;
    int main()
    {
    	int n;scanf("%d",&n);       // 读入 N
    	for(int i=n;i>=0;i--)       // 从 N 递减到 0
    	{
    		printf("%d\n",i);        // 输出当前数并换行
    	}
    	return 0;
    }
    
    • 1

    信息

    ID
    662
    时间
    1000ms
    内存
    256MiB
    难度
    10
    标签
    (无)
    递交数
    1
    已通过
    1
    上传者