33,010
社区成员
发帖
与我相关
我的任务
分享
>>> def golomb(x, m):
... b = 2*m
... q = int((x-1.0)/b)
... r = x - q*b - 1
... l = bin(r)[2:]
... return '1'*q+'0' + ':' + '0'*(m-len(l))+l
>>> print "\n".join(str(x)+" "+" ".join(golomb(x, i) for i in range(1, 4)) for x in range(1, 10))
1 0:0 0:00 0:000
2 0:1 0:01 0:001
3 10:0 0:10 0:010
4 10:1 0:11 0:011
5 110:0 10:00 0:100
6 110:1 10:01 0:101
7 1110:0 10:10 10:000
8 1110:1 10:11 10:001
9 11110:0 110:00 10:010