top1编程
← 返回题目
题解

学生报数2

1 条题解

  • 0
    @ 2026-8-4 14:03:51

    解题思路

    100 名学生从 1 开始报数并累加,当累加和大于等于 1000 时停止。每报一个数就输出它,累计到 1000 时,输出当前的累加和和第几名同学。

    1+2+...+44=990,再加 45 得到 1035 ≥ 1000,所以报到第 45 名结束。

    参考代码

    #include <iostream>
    using namespace std;
    
    int main() {
        int sum = 0;
        for (int i = 1; i <= 100; i++) {
            cout << i << endl;      // 输出报的数字
            sum += i;
            if (sum >= 1000) {      // 累加值达到1000停止
                cout << sum << endl;   // 输出累加和
                cout << i << endl;     // 输出第几名同学
                break;
            }
        }
        return 0;
    }
    

    复杂度分析

    最多循环 100 次,时间复杂度 O(1),额外空间复杂度 O(1)。

    • 1