1 条题解

  • 0
    @ 2026-1-30 19:43:04
    #include<bits/stdc++.h>
    using namespace std;
    // [1] 存储输入的上限n(题目中n为1000~9999的整数)
    int n;
    // [2] 累加符合条件的纯粹四位奇数的和
    int sum = 0;
    
    int main() {
        cin >> n; // [3] 输入上限n
        // [4] 遍历1000到n的所有四位数
        for(int i = 1000; i <= n; i++) {
            int num = i; // [5] 取出当前数
            int flag = 1; // [6] 初始化标记flag(1表示当前数是纯粹奇数,0表示不是)
            // [7] 逐位分解当前数,检查每一位是否为奇数
            while(num) {
                if(num%10 % 2 == 0) { // [8] 检查当前数的最后一位是否为偶数
                    flag = 0; // [9] 若为偶数,标记为0并跳出循环
                    break;
                }
                num /= 10; // [10] 去掉当前数的最后一位,继续检查下一位
            }
            if(flag) { // [11] 如果当前数是纯粹奇数
                sum += i; // [12] 累加到总和
            }
        }
        cout << sum; // [13] 输出所有符合条件的数的和
        return 0;
    }
    
    • 1

    信息

    ID
    1248
    时间
    1000ms
    内存
    256MiB
    难度
    1
    标签
    递交数
    1
    已通过
    1
    上传者