组合题
#include <iostream>using namespace std;int main() {    int n;    cin >> n;    int x = 1, y = 1;    while (n > 0) {        if (n % 2 == 0) {            ++x;        } else {            ++x;            ++y;        }        n = n / 2;    }    cout << x << ' ' << y << endl;    return 0;}

以下问题均假定输入的 nn 为不超过 231−12^{31}- 1 的非负整数。

第 16 题判断题原卷 1 分

(1 分)当输入为 3 时,程序输出为 3 3。( )

填写答案
第 17 题判断题原卷 1.5 分

将第 11 行的 ++x; 删除后,程序输出的两个数一定相等。( )

填写答案
第 18 题判断题原卷 1.5 分

假设输入为非负整数,则程序输出的第一个数一定不小于第二个数。( )

填写答案
第 19 题单选题原卷 3 分

将第 7 行的 while (n > 0) 改为 while (n >= 0) 后,程序可能出现的问题是( )。

填写答案
第 20 题单选题原卷 3 分

当输入为 6 时,输出为( )。

填写答案
第 21 题单选题原卷 3 分

若输入 nn 依次取遍 0,1,2,…,231−10, 1, 2, … , 2^{31}- 1 中的所有整数,则程序输出的第二个数恰好为 2 的次数为( )。

填写答案