-2

I have to define a number like 3 then make it a set

x = set(range(1,n+1))

and then show all subset of this set :

{}
{1}
{1, 2}
{1, 2, 3}
{1, 3}
{2}
{2, 3}
{3}
mujad
  • 643
  • 7
  • 15

1 Answers1

0
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}))

Are you looking for some simple solutions like above?

lincr
  • 1,633
  • 1
  • 15
  • 36