给定一个整数,求其二进制数中1的个数
2012-02-22 14:10
253 查看
不是最优代码,不过至少算出来了,呵呵
1. type(num) == type(1),判断num是不是整数,type(1)是整数int,type(1.2)是float,type('a')是字符串,type(str),type(list),type(tuple),type(dict)都是type
2. 不好判断range的范围,所以用了break,当商是0时,主动退出循环
3. 八进制,十六进制的有空再研究下
=====================================================
#!/usr/bin/python
#coding=utf-8
'''
Created on 2012-2-22
Q:给定一个整数,求其二进制数中1的个数
remainder 余数,temp是商
'''
num = input("请输入一个整数:")
print num
remainder=[]
if type(num) != type(1):
print "请输入一个整数!"
else:
for i in range(0,num):
temp=num/2
remainder.append(num%2)
#print remainder
#print "商是:%d"%temp
i=i+1
num=temp
if temp==0:
break
remainder.reverse()
#print remainder
print remainder.count(1)
1. type(num) == type(1),判断num是不是整数,type(1)是整数int,type(1.2)是float,type('a')是字符串,type(str),type(list),type(tuple),type(dict)都是type
2. 不好判断range的范围,所以用了break,当商是0时,主动退出循环
3. 八进制,十六进制的有空再研究下
=====================================================
#!/usr/bin/python
#coding=utf-8
'''
Created on 2012-2-22
Q:给定一个整数,求其二进制数中1的个数
remainder 余数,temp是商
'''
num = input("请输入一个整数:")
print num
remainder=[]
if type(num) != type(1):
print "请输入一个整数!"
else:
for i in range(0,num):
temp=num/2
remainder.append(num%2)
#print remainder
#print "商是:%d"%temp
i=i+1
num=temp
if temp==0:
break
remainder.reverse()
#print remainder
print remainder.count(1)
相关文章推荐
- 求一个整数转换为二进制数后有几个1
- 9.11排序与查找(三)——给定一个排序后的数组,包含n个整数,但这个数组已被旋转过多次,找出数组中的某个元素
- 给定一整数 n 产生一个 1 到 n*n的螺旋形数组
- 给定一个整数,求出该整数的所有质因数
- (旋转数组问题)给定一个整数类型的循环有序数组,求循环数组的特定值,使用二分查找法(JAVA实现)
- leetcode-java.T001_TwoSum 给定一个整数数组,找出其中两个数满足相加等于你指定的目标数字
- 最大子序列问题:给定一整数序列A1,A2,A3...An(可能有负数),求A1~An的一个最大子序列Ai~Aj的和。
- 给定一个double类型的浮点数base和int类型的整数exponent。求base的exponent次方。
- 给定一个整数N,求它的阶乘末尾有多少个0呢?
- 一道笔试题,求给定一个整数是否存在一个给定的矩阵中
- 把一个给定的值存储到另一个整数中指定的几位
- 给一个整数数组,找到两个数使得他们的和等于一个给定的数 target(容易)
- 给定一个整数序列,请找出这个整数序列的中间数的值。
- java实现给定一个double类型的浮点数base和int类型的整数exponent。求base的exponent次方。
- 给定一个存放整数的数组,重新排列数组使得数组左边为奇数,右边为偶数
- 扩展性与存储限制(二)——给定一个输入文件,包含40亿个非负整数。产生一个不在该文件中的整数。内存限制:1GB
- 给定一个整数(字符串也适用)序列,重新排列,得到最大的结果,比如31,3,35,7,9根据排列后得到组合 9735331,返回的是string类型
- 编程珠玑:给定一个包含4300000000个32位证书的顺序文件,求出一个至少包含两次的整数
- 给定一个整数n,求斐波那契数列前n项,部分代码已给出,要求补全题目所缺少的函数。
- 给定一个整数实现奇偶bit位互换