#include <iostream> using namespace std; int lowbit(int a) { return a&(-a); } int main() { //jingen int T=2; while(T--) { int a; int num=0; cin>>a; while(a) { a-=lowbit(a); num++; } cout<<num<<endl; } return 0; }
对两个数分别求其二进制下一的个数,用lowbit(求最右边1的个数)进行计算,并用num进行计数。参与链接