正在载入在线练习界面,本页内容可直接阅读…
AK CSP › NOIP 提高 2018 第一轮真题 › 第 10 题
NOIP 提高 2018 第一轮 第 10 题:为了统计一个非负整数的二进制形式中1的个数,代码如下:
题目
为了统计一个非负整数的二进制形式中 $1$ 的个数,代码如下:
int CountBit(int x)
{
int ret = 0;
while (x)
{
ret++;
_;
}
return ret;
}
则空格内要填入的语句是( )。选项
- A. x >>= 1
- B. x &= x - 1
- C. x |= x >> 1
- D. x <<= 1
答案
B
题解
考点定位
本题考「popcount」,对应大纲 2.1.2 位运算(难度【1】)。
解题过程
x &= x - 1 清最低位 1。
选 B。
易错提醒
① 与普及组同题;② Kernighan 算法。
真题版权归 CCF 所有,本站仅用于非商业教学用途。页面加载后可直接在线作答,作答记录保存在本浏览器或账号中。 京ICP备2026056990号-1
京公网安备11010502062986号