1 条题解

  • 0
    @ 2026-1-28 18:11:07
    #include<bits/stdc++.h>
    using namespace std;
    int main(){
        int n;
        cin >> n;  // [1] 读取输入整数n,确定1~n的统计范围
        int sum = 0; // [2] 初始化计数器,统计符合条件的数的个数
        // [3] 遍历1到n的所有整数,逐个检查筛选
        for(int i=1;i<=n;i++){
            int num=i, sum2=0; // [4] 暂存当前数到num,初始化digitSum为0用于计算各位和
            // [5] 循环分解当前数的每一位,计算各位数字之和
            while(num){
                sum2 += num%10; // [6] 提取个位数字,累加到各位和中
                num /= 10; // [7] 去掉当前个位,继续检查更高位
            }
            // [8] 判断条件:各位数字之和不能被2整除 且 不能被5整除
            if(sum2%2!=0 && sum2%5!=0){
                sum++; // [9] 符合条件,计数器加1
            }
        }
        cout<<sum; // [10] 输出最终统计的符合条件的数的个数
        return 0;
    }
    
    • 1

    信息

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