#include <iostream> using namespace std; int main() { int res = 0; int n;cin>>n; while (n) { if(n&1){ res++; } n>>=1; } cout<<res; return 0; } // 64 位输出请用 printf("%lld")
使用二进制,每次右移判断末尾是否为1,然后统计输出即可。
#include <iostream> using namespace std; int main() { int res = 0; int n;cin>>n; while (n) { if(n&1){ res++; } n>>=1; } cout<<res; return 0; } // 64 位输出请用 printf("%lld")
使用二进制,每次右移判断末尾是否为1,然后统计输出即可。