📅  最后修改于: 2023-12-03 15:07:34.830000             🧑  作者: Mango
本题要求我们写一个函数,将一个十进制数转换成二进制,并计算二进制数中1的个数。
输入一个正整数 $n$,将其转换成二进制数 $b$,并统计 $b$ 中1的个数。具体步骤如下:
def bin_count(n):
"""
将一个十进制数转换成二进制,并统计二进制数中1的个数。
"""
bits = []
while n >= 1:
bits.append(n % 2)
n = n // 2
bits.reverse()
cnt = 0
for bit in bits:
if bit == 1:
cnt += 1
return cnt
assert bin_count(4) == 1
assert bin_count(15) == 4
assert bin_count(32) == 1
本题考察了我们对于二进制数的理解。在实现函数的过程中,需要注意将余数按照倒序排列,以及统计1的个数的方法。