正在载入在线练习界面,本页内容可直接阅读…

AK CSP › CSP-J 2026 第一轮真题 › 第 20 题

CSP-J 2026 第一轮 第 20 题:程序(一):当输入为 6 时,输出为

阅读程序 · 枚举与模拟 · 答案 C

题目

#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;
}

以下问题均假定输入的 $n$ 为不超过 $2^{31}- 1$ 的非负整数。

本小题

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

选项

  • A. 3 3
  • B. 4 2
  • C. 4 3
  • D. 5 2

答案

C

题解

选 C. 4 3。

初始时 n = 6,x = 1,y = 1。每轮循环中,x 都加 1,只有当 n 为奇数时,y 才加 1。随后 n 整除 2(舍去小数部分)。

轮次本轮的 n奇偶性更新后的 x更新后的 y整除 2 后的 n
16偶数213
23奇数321
31奇数430

此时 n = 0,循环结束,输出:

``text 4 3 ``

真题版权归 CCF 所有,本站仅用于非商业教学用途。页面加载后可直接在线作答,作答记录保存在本浏览器或账号中。 京ICP备2026056990号-1 京公网安备11010502062986号