我试图写一个函数来实现这个功能:返回所有带有N位的二进制数,并按排序顺序排列。每个二进制数表示为一个元组。调用AllBinary(N)的结果是一个包含2^N个二进制数的元组。示例:
AllBinary(2)
[(0, 0), (0, 1), (1, 0), (1, 1)]
我试图使用for或while循环编写函数。这是我的代码:
^{pr2}$
我想我可以用一个累加for循环来解决这个问题,方法是让循环创建二进制的元组,然后将它们添加到空列表c中。但是我不确定如何编写循环代码来获取这些二进制元组。在
Tags:
这叫做动力装置。在
有很多复制和粘贴算法。在
但是,2^n是一个很大的开销+Python的开销(如果我没记错的话,它是每int 12个字节),32个数字将给你每个字节4gb,所以4*12=48gb的内存来存储。在
要知道这个幂集中是否有一个数是不重要的。在
这也是学习发电机和产量的一个很好的借口,因为有限的发电机组是可数的。在
示例:
^{pr2}$你只需要再加两行就行了
如果您也不喜欢使用按位运算符(虽然效率较低)
^{pr2}$相关问题 更多 >
编程相关推荐