第 1题
- #include <iostream>
- using namespace std;
- 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()
- {
- cin >> n;
- for (int i = 0; i < n; i++) cin >> a[i];
- for (int i = 0; i < n; i++)
- cout << f(a[i]) + g(a[i]) << ' ';
- cout << endl;
- return 0;
- }
判断
输入的 n 等于 1001 时,程序不会发生下标越界。( )
A.正确
B.错误
判断
输入的 a[i] 必须全为正整数,否则程序将陷入死循环。( )
A.正确B.
错误
判断
当输入为“5 2 11 9 16 10”时,输出为“3 4 3 17 5”。( )
A.正确
B.错误
判断
当输入为“1 511998”时,输出为“18”。( )
A.正确
B.错误
判断
将源代码中 g 函数的定义(14-17 行)移到 main 函数的后面,程序可以正常编译运行。( )
A.正确
B.错误
单选
当输入为“2 -65536 2147483647”时,输出为( )。
A.“65532 33”
B.“65552 32”
C.“65535 34”
D.“65554 33”