#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; }
文章標籤
全站熱搜
創作者介紹
創作者 eric30 的頭像
eric30

*Our Blog*

eric30 發表在 痞客邦 留言(0) 人氣(0)