输入: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 = 0
for strx in b_num:
if strx=="1":
count1+=1
numlist.append(str(count1))
print(",".join(numlist))
法二
#输入一个整数,输出该数二进制表示中1的个数
def Numof1 (num):
res_1 = []
count1 = 0
while num:
count1+=1
num=(num-1)&num
return count1
# 循环
n=int(input())
result=[]
for i in range(n+1):
a=Numof1(i)
result.append(str(a))
print(",".join(result))