博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
用python写算法5[二进制中1的个数]
阅读量:6299 次
发布时间:2019-06-22

本文共 695 字,大约阅读时间需要 2 分钟。

题目:输入一个整数,求该整数的二进制表达中有多少个1。例如输入10,由于其二进制表示为1010,有两个1,因此输出2

解法:

#!/usr/bin/pythondef NumberOf1(n):    count = 0    while n:        if n & 1:            count += 1        n = n >> 1    return countdef NunberOf1A(n):    count = 0    while n:        count += 1        n = (n-1) & n    return count# different from c, it won't stop correctlydef NumberOf1B(n):    count = 0    flag = 1    while flag:        if n & flag:            count += 1        flag = flag << 1    return countdef main():    number = 9    print NumberOf1(number)    print NunberOf1A(number)    print NumberOf1B(number)    if __name__ == '__main__':    main()

 

转载于:https://www.cnblogs.com/jiyiyouxin/archive/2013/03/27/2984859.html

你可能感兴趣的文章
返回零长度的数组或者集合,而不是null
查看>>
Mosquito的优化——订阅树优化(八)
查看>>
IBM MQ + WebSphere + Spring JMS配置方法
查看>>
【JS小技巧】JavaScript 函数用作对象的隐藏问题(F.ui.name)
查看>>
LCD设备驱动程序
查看>>
layer:好看的弹出窗口
查看>>
mysql服务里面没有启动项
查看>>
通过kubeadm安装kubernetes 1.7文档记录[docker容器方式]
查看>>
ES6中变量解构的用途—遍历Map结构
查看>>
JSON相关
查看>>
https://github.com/CocoaPods/CocoaPods/search?q=No+such+file+or+directory报错解决方式
查看>>
Android反编译 -- 错误代码还原
查看>>
oracle11g 在azure云中使用rman进行实例迁移
查看>>
【Python】 uuid生成唯一ID
查看>>
elk系列7之通过grok分析apache日志【转】
查看>>
ML—高斯判别分析
查看>>
判断模型是过拟合还是欠拟合--学习曲线
查看>>
Spring Boot项目在Mac下使用Maven启动时碰到的神奇问题:Unregistering JMX-exposed beans on shutdown...
查看>>
递归函数
查看>>
Linux常见命令(五)——rmdir
查看>>