https://www.cnblogs.com/RioTian/p/13598747.html
#include<bits/stdc++.h>
using namespace std;
int main()
{
int n;
cin>>n;
if(n&1)
cout<<"奇数"<<endl;
else
cout<<"偶数"<<endl;
return 0;
}
若一个数为2的正整数次幂,则这个数转换二进制后,所有位置上有且只有一个1,此时若减去一个1,将会造成“一连串的崩塌”(从个位开始不断向高位借一)。
#include<bits/stdc++.h>
using namespace std;
int main()
{
int n;
cin>>n;
if(n>0&&(n&(n-1)==0)
{
cout<<"YES";
}
else cout<<"NO";
return 0;
}
int lowbit(int k)
{
return k&-k;
}
#include<bits/stdc++.h>
using namespace std;
int lowbit(int k)
{
return k&-k;
}
int main()
{
int x,cnt=0;
cin>>x;
while(x)
{
x=x-lowbit(x);
cnt++;
}
cout<<cnt;
return 0;
}
原文:https://www.cnblogs.com/BeautifulWater/p/14854612.html