#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

题目信息

题号:1179
题型:判断题
难度:普通