位运算(&>>) | HJ62 查找输入整数二进制中1的个数
while True:
try:
n = int(input())
# 方法1:转二进制字符串,查找字符1个数
# print(bin(n).count('1'))
#方法2:int数与1做位与运算,同时int数逻辑右移直到出界为0
cnt = 0
while n:
cnt += n & 1
n >>= 1
print(cnt)
except:
break
用时:5min
华为笔试刷题 文章被收录于专栏
高质量题: 1~40:HJ16,HJ22,HJ24,HJ26,HJ27,HJ28,HJ35,HJ37,HJ39; 40~80:HJ41,HJ42,HJ43,HJ44,HJ48,HJ50,HJ52,HJ53,HJ57,HJ61,HJ63,HJ64,HJ70,HJ71,HJ74,HJ77; 80~108:HJ82,HJ85,HJ88,HJ89,HJ93,HJ95,HJ98,HJ103,HJ107
查看1道真题和解析