华为机试HJ62查找输入整数二进制中1的个数
题目:
![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/9d1fa32cc83f4ce0a18cd554b46045aa.png)
想法:
将十进制数转为二进制数字符串,遍历字符串统计其中1的个数并返回。代码如下:
while True:
try:
input_number = int(input())
result = 0
for i in str(bin(input_number)):
if i == "1":
result += 1
print(result)
except:
break
因为生成的二进制字符需要遍历和存储,所以时间复杂度和空间复杂度均为:
O
(
n
)
O(n)
O(n)。