top1编程
← 返回题目
题解

统计满足条件的4位数

1 条题解

  • 0
    @ 2026-8-4 10:39:06

    解题思路

    把每个四位数拆出千、百、十、个位,判断 个位 - 千位 - 百位 - 十位 > 0。满足就计数,最后输出个数。

    参考代码

    #include <iostream>
    using namespace std;
    
    int main() {
        int n;
        cin >> n;
        int cnt = 0;
        for (int i = 0; i < n; i++) {
            int x;
            cin >> x;
            int g = x % 10;          // 个位
            int s = x / 10 % 10;     // 十位
            int b = x / 100 % 10;    // 百位
            int q = x / 1000;        // 千位
            if (g - q - b - s > 0) cnt++;
        }
        cout << cnt << endl;
        return 0;
    }
    

    复杂度分析

    循环 n 次,每次常数运算,时间复杂度 O(n),额外空间复杂度 O(1)。

    • 1