第十二届蓝桥杯软件类模拟赛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

已标记关键词 清除标记
相关推荐
©️2020 CSDN 皮肤主题: 像素格子 设计师:CSDN官方博客 返回首页