我正在尝试解决一道二进制谜题,我的策略是将一个网格转换为0和1,并且我想确保每行都有相同数量的0和1。
有没有一种方法可以在不迭代数字的情况下计算数字中有多少个1和0?
目前我正在做的是:
def binary(num, length=4):
return format(num, '#0{}b'.format(length + 2)).replace('0b', '')
n = binary(112, 8)
// '01110000'
and then
n.count('0')
n.count('1')
有没有更有效的计算(或数学)方法来做这件事情?
range(1<<4)
会生成所有的四位数[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]
等等。 - John La Rooy