题解 | #牛牛的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-21 13:38
8月实习会变多吗现在还没找到实习该怎么办...回复的hr好少
码农索隆:3-4月就要开始找,基本上6月份就发offer,7月初已经开始暑期实习了。
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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