#include <stdio.h> int n; i
#include <stdio.h>
int n;
int a[1000];
int f(int x)
{
int ret = 0;
for (; x; x &= x - 1) ret++;
return ret;
}
int g(int x)
{
return x & -x;
}
int main()
{
scanf("%d",&n);
for (int i = 0; i < n; i++) scanf("%d",&a[i]);
for (int i = 0; i < n; i++)
printf("%d",f(a[i])+g(a[i]));
printf("\n");
return 0;
}输入的a[i]必须全为正整数,否则程序将陷入死循环。
答案
B