题解 | #牛牛的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;
}
}
