题解 | #牛牛的10类人#

牛牛的10类人

https://www.nowcoder.com/practice/232b7fc32fac4636819e31a7d7c960a3

#include <iostream>
using namespace std;

const int N=1e6;
int b[N];
int cnt=0;

// 如何求一个进制转换
void fun(int a)
{
    while(a>0)
    {
        b[cnt++]=a%2;
        a=a/2;
    }
}

int fun1(int m)
{
    int num=0;
    for(int i=0;i<cnt;i++)
    {
        if(b[i]==m)
        {
            num++;
        }
    }
    return num;
}

int main() 
{
    int n;
    cin>>n;
    for(int i=0;i<n;i++)
    {
        int a;
        cin>>a;
        cnt=0;
        fun(a);
        int cnt1=0,cnt2=0;
        cnt1 = fun1(0);
        cnt2 = fun1(1);
        if(cnt1%2==0&&cnt2%2==0)
        {
            cout<<"10"<<" ";
        }
        else if(cnt1%2==0)
        {
            cout<<"0"<<" ";
        }
        else if (cnt2%2==0) 
        {
            cout<<"1"<<" ";
        }
        else 
        {
            cout<<"100"<<" ";
        }
    }
}
// 64 位输出请用 printf("%lld")

1.如何写一个n进制转换

void fun(int a)

{

int b[N],cnt=0;

while(a>0)

{

b[cnt++]=a%n;

a/=n;

}

}

全部评论

相关推荐

07-23 14:04
东北大学 C++
既然这样,为什么不点击就送呢
牛马88号:因为你合适。但有很多笔试就挂了、通过了再排序的
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务