第十二届蓝桥杯软件类模拟赛python程序设计 第二期(1)二进制位数

Topic

小明要用二进制来表示 1 到 10000 的所有整数
要求不同的整数用不同的二进制数表示,
请问,为了表示 1 到 10000 的所有整数,
至少需要多少个二进制位?

Solution

循环从1到10000的所有十进制的数字
同时在循环的过程中
利用bin函数将十进制的数字转换为二进制
将前两位表示内存的0b去除
即将每一位十进制的数字成功转换为了二进制

之后将二进制数转换为列表的形式
并添加到列表res中
最后通过计算res的长度即是

Code

res = []

for a in range(1, 10001):
    a = list(bin(a))
    b = a[2:]
    res.extend(b)

print(len(res))

Answer

123631

你可能感兴趣的:(python,蓝桥杯模拟,python,列表,数据结构,蓝桥杯)