L1-022 奇偶分家 (10分)

L1-022 奇偶分家 (10分)_第1张图片
我写的emm

#include 
using namespace std;
int  main()
{
    int n,x,t=0;
    cin>>n;
    for(int i=1;i<=n;i++)
    {
        cin>>x;
        if(x%2==0)
            t++;
    }
    cout<<n-t<<" "<<t;
    return 0;
}

看过大佬的代码复刻的emm

#include 
using namespace std;
int  main()
{
    int a[2]={0},x,y;
    cin>>x;
    for(int i=1;i<=x;i++)
    {
        cin>>y;
        a[y&1]++;
    }
    cout<<a[1]<<" "<<a[0];

    return 0;
}

感想:

其实判断一个数的奇偶性:1. if(a%20)则a是偶数(这种方法选择了用%2是否为0来判断,不能用%21判断,因为要考虑负数,负数%2==1也可以成立呀 )
2.用位操作 即a&1 偶数“与1”==0,奇数“与1”==1(简直神奇)

你可能感兴趣的:(c++)