正在载入在线练习界面,本页内容可直接阅读…
AK CSP › CSP-J 2026 第一轮真题 › 第 20 题
CSP-J 2026 第一轮 第 20 题:程序(一):当输入为 6 时,输出为
题目
#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 |
|---|---|---|---|---|---|
| 1 | 6 | 偶数 | 2 | 1 | 3 |
| 2 | 3 | 奇数 | 3 | 2 | 1 |
| 3 | 1 | 奇数 | 4 | 3 | 0 |
此时 n = 0,循环结束,输出:
``text 4 3 ``
真题版权归 CCF 所有,本站仅用于非商业教学用途。页面加载后可直接在线作答,作答记录保存在本浏览器或账号中。 京ICP备2026056990号-1
京公网安备11010502062986号