我必须定义一个像 3 这样的数字然后使它成为一个集合x = set(range(1,n+1))然后显示该集合的所有子集:{}{1}{1, 2}{1, 2, 3}{1, 3}{2}{2, 3}{3}
1 回答
海绵宝宝撒
TA贡献1809条经验 获得超8个赞
def get_result(x):
len_x = len(x)
res = []
for i in range(0, 2**(len_x)):
res.append(take(x, i))
print("count:{}".format(len(res)))
return res
def take(x, i):
res = set()
idx = 1
while i:
if i & 1:
res.add(idx)
idx += 1
i >>= 1
return res
print(get_result({1, 2, 3}))
print(get_result({1, 2, 3, 4}))
您是否正在寻找像上面这样的简单解决方案?
添加回答
举报
0/150
提交
取消