给定一个非负整数num,范围中的每个数字i 计算其二进制中1的个数
输入:3
输出:0,1,1,2
法一
num=int(input())
numlist=[]
reslist=[]
#1.1输入0
if num==0:reslist.append(bin(0))
#1.2输入大于0
else:for i in range(num+1):reslist.append(bin(i))
#print(reslist)
#2.1 输入为0时处理
if len(reslist)==1:numlist.append(str(0))
#2.2 输入大于0处理
else:numlist.append(str(0))for b_num in reslist[1:]:count1 = 0for strx in b_num:if strx=="1":count1+=1numlist.append(str(count1))
print(",".join(numlist))
法二
#输入一个整数,输出该数二进制表示中1的个数
def Numof1 (num):res_1 = []count1 = 0while num:count1+=1num=(num-1)&numreturn count1
# 循环
n=int(input())
result=[]
for i in range(n+1):a=Numof1(i)result.append(str(a))
print(",".join(result))
给定一个非负整数num,范围中的每个数字i 计算其二进制中1的个数相关推荐
- 给定一个非负整数 num,反复将各个位上的数字相加,直到结果为一位数。返回这个结果。
258. 各位相加 难度简单475 给定一个非负整数 num,反复将各个位上的数字相加,直到结果为一位数.返回这个结果. 示例 1: 输入: num = 38 输出: 2 解释: 各位相加的过程为:3 ...
- 求栈中元素个数算法_精妙的算法——计算二进制中1的个数
如何计算二进制中1的个数? 全部遍历一遍? 不--不--这不是最优解-- 下面看一段代码: int bitcount (unsigned int n) {int count=0 ;while (n) ...
- 给定一个非负整数 num,反复将各个位上的数字相加,直到结果为一位数
常规思路:分别获取num的位上的值进行相加,判断相加后的结果result,如果result小于10,返回值,否则获取result的位上的值进行相加,判断相加后的结果,直到结果小于10,输出结果 代码: ...
- 2021-04-17:给定一个整型数组 arr,数组中的每个值都为正数,表示完成一幅画作需要的时间,再 给定 一个整数 num,表示画匠的数量,每个画匠只能画连在一起的画作。所有的画家 并行工作,请
2021-04-17:给定一个整型数组 arr,数组中的每个值都为正数,表示完成一幅画作需要的时间,再 给定 一个整数 num,表示画匠的数量,每个画匠只能画连在一起的画作.所有的画家 并行工作,请 ...
- 给定一个非负整数 N,找出小于或等于 N 的最大的整数,同时这个整数需要满足其各个位数上的数字是单调递增。
//给定一个非负整数 N,找出小于或等于 N 的最大的整数,同时这个整数需要满足其各个位数上的数字是单调递增. //(当且仅当每个相邻位数上的数字 x 和 y 满足 x <= y 时,我们称这个 ...
- 25 写一个递归函数,输入一个非负整数,返回组成它的数字之和。
题目描述:写一个递归函数DigitSum(n),输入一个非负整数,返回组成它的数字之和, 例如,调用DigitSum(1729),则应该返回1+7+2+9,它的和是19. 代码如下: #include ...
- 写一个递归函数DigitSum(n),输入一个非负整数,返回组成它的数字之和, 例如,调用DigitSum(1729),则应该返回1+7+2+9,它的和是19
写一个递归函数DigitSum(n),输入一个非负整数,返回组成它的数字之和, 例如,调用DigitSum(1729),则应该返回1+7+2+9,它的和是19 以前写排序问题,不懂得可以翻翻看,这个问 ...
- 递归学习:写一个递归函数DigitSum(n),输入一个非负整数,返回组成它的数字之和;递归实现n的k次方
写一个递归函数DigitSum(n),输入一个非负整数,返回组成它的数字之和. 例如,调用DigitSum(1729),则应该返回1+7+2+9,它的和是19 输入:1729,输出:19 #inclu ...
- 汇编语言: 从键盘上输入一串字符(用回车键结束,使用 10 号功能调用。)放在 STRING 中,试 编制一个程序测试字符串中是否存在数字。如有,则把 CL 的第 5 位置 1,否则将该位置置 0。
从键盘上输入一串字符(用回车键结束,使用 10 号功能调用.)放在 STRING 中,试 编制一个程序测试字符串中是否存在数字.如有,则把 CL 的第 5 位置 1,否则将该位置置 0. data s ...
最新文章
- Linux指令--文件和目录属性
- “我付了钱,为何要说谢谢?”
- 算法复习——凸包加旋转卡壳(poj2187)
- stm32-USART1重映射
- 一步一步学动画[1]:Silverlight中Animation的应用
- python mount回调函数_为python回调函数设置argtype
- Java环境变量CLASSPATH详解(转载)
- [JavaScript]如何安全地嵌入第三方js – FBML/caja/sandbox/ADsafe简介
- 2-5 ImageList 控件
- [文摘20071008]全国软考相关-计算机技术与软件专业资格(水平)考试
- Firefox的缓存问题
- Data source rejected establishment of connection, message from server: Too many connections
- 1065. 最小公倍数
- 【2019南昌邀请赛网络赛 B Greedy HOUHOU BZOJ 2957 楼房重建】线段树+二分
- C语言从入门到精通 ————1.初识C语言
- 01-Axure9入门培训
- DSP eCAP脉冲捕获实验
- 摄动法在计算机中的应用,H理论在计算机控制系统摄动模型中的应用研究
- 火狐浏览器打印网页不全_火狐浏览器网页显示不全
- Unity HDR (高动态范围 )