#include
using namespace std;
unsigned long getNumbers(unsigned long x)
{
x = (x & 0x55555555UL) + ((x >> 1) & 0x55555555UL);
x = (x & 0x33333333UL) + ((x >> 2) & 0x33333333UL);
x = (x & 0x0f0f0f0fUL) + ((x >> 4) & 0x0f0f0f0fUL);
x = (x & 0x00ff00ffUL) + ((x >> 8) & 0x00ff00ffUL);
x = (x & 0x0000ffffUL) + ((x >> 16) & 0x0000ffffUL);
return x;
}
int main()
{
unsigned long x;
while(cin>> x)
{
unsigned long total = 0;
total = getNumbers(x);
cout << "一共有 " << total << " 個 1\n";
}
return 0;
}
文章標籤
全站熱搜