这段代码定义了一个函数 `count_binary_ones`,意图是计算整数 `n` 的二进制表示中1的个数。但当前实现总是返回0,因为递归中只加了0,没有判断当前最低位是否为1。 - 在递归中,你需要检查 `n` 的最低位(即 `n % 2`)是否为1,如果是,则应该在返回值中加1,而不是固定加0。 - 递归调用 `count_binary_ones(n / 2)` 是正确的,它处理去掉最低位后的剩余部分,但你需要把当前最低位的值(0或1)加到递归结果上。
Copy this url:
QR-code: