1 条题解

  • 0
    @ 2026-1-28 14:50:12
    #include<bits/stdc++.h>
    using namespace std;
    
    int main(){
        int n; // [1] n:输入的数字总个数
        cin>>n; // [2] 读取数字个数
        int arr[n]; // [3] arr:存储输入的n个数字
        // [4] 读取n个数字,存入数组arr
        for(int i=0;i<n;i++){
            cin>>arr[i];
        } 
    
        // [5] 遍历每个数字,判断是否为完美偶数
        for(int i=0;i<n;i++){
            int m=arr[i],flag=1,sum=0; 
            // m:当前要判断的数字;flag:标记所有位是否为偶数(1=是,0=否);sum:统计当前数字的位数
    
            // [6] 分解当前数字的每一位,检查是否全为偶数,并统计位数
            while(m){
                int g=m%10; // g:当前数字的个位
                if(g%2!=0){
                    flag=0; // 若有一位是奇数,标记为非完美偶数
                }
                m=m/10; // 去掉个位,继续判断下一位
                sum++; // 位数加1
            } 
    
            // [7] 判断是否满足完美偶数的三个条件:本身是偶数、位数是偶数、所有位都是偶数
            if(arr[i]%2==0 && sum%2==0 && flag==1){
                cout<<arr[i]<<endl; // 满足条件则输出该数字
            }
        }
        return 0;
    }
    
    • 1

    信息

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