十进制转二进制——python3解法

求int型正整数在内存中存储时1的个数

http://www.nowcoder.com/questionTerminal/440f16e490a0404786865e99c6ad91c9

n = int(input())
n = bin(n)
print(n.count('1'))
全部评论
不过排行还是贼低,感觉好像还有更优解
1 回复 分享
发布于 2021-08-08 21:23
n = int(input()) count = 0 for i in range(32): if n & (1 << i): count += 1 print(count) 用按位与运算会快很多
5 回复 分享
发布于 2022-02-19 15:07
真的可以这样吗,直接调用转二进制的方法,不是除2取余
1 回复 分享
发布于 2022-04-30 02:58
我把二进制的数值转换成字符串后,耗时和内存使用好像都比单独二进制的少了些
点赞 回复 分享
发布于 2021-08-08 21:22
跟预想的一致,分两步,先把输入的整形转为二进制,再数二进制中1的个数 三步,加输入
点赞 回复 分享
发布于 2021-11-12 14:19
还是我的更快点,不过内存占用多一些: num = int(input()) bina = bin(num) str1 = str(bina) count = 0 for i in str1: if i == '1': count +=1 print(count)
点赞 回复 分享
发布于 2022-03-07 03:17

相关推荐

孤寡孤寡的牛牛很热情:为什么我2本9硕投了很多,都是简历或者挂,难道那个恶心人的测评真的得认真做吗
点赞 评论 收藏
分享
评论
83
8
分享
牛客网
牛客企业服务