Generating all sequence with n elements of values 0,1, ... k¶

In [10]:
n = 5 #number of items
k = 3 #number of possibilities (2 for 0/1 Knapsack)

Recursive version¶

In [11]:
arr = [0]*n

def generate(level):
    if level == n:
        print(arr) #next possible solution
        return
    for element in range(k):
        arr[level] = element
        generate(level+1)
        
generate(0)
[0, 0, 0, 0, 0]
[0, 0, 0, 0, 1]
[0, 0, 0, 0, 2]
[0, 0, 0, 1, 0]
[0, 0, 0, 1, 1]
[0, 0, 0, 1, 2]
[0, 0, 0, 2, 0]
[0, 0, 0, 2, 1]
[0, 0, 0, 2, 2]
[0, 0, 1, 0, 0]
[0, 0, 1, 0, 1]
[0, 0, 1, 0, 2]
[0, 0, 1, 1, 0]
[0, 0, 1, 1, 1]
[0, 0, 1, 1, 2]
[0, 0, 1, 2, 0]
[0, 0, 1, 2, 1]
[0, 0, 1, 2, 2]
[0, 0, 2, 0, 0]
[0, 0, 2, 0, 1]
[0, 0, 2, 0, 2]
[0, 0, 2, 1, 0]
[0, 0, 2, 1, 1]
[0, 0, 2, 1, 2]
[0, 0, 2, 2, 0]
[0, 0, 2, 2, 1]
[0, 0, 2, 2, 2]
[0, 1, 0, 0, 0]
[0, 1, 0, 0, 1]
[0, 1, 0, 0, 2]
[0, 1, 0, 1, 0]
[0, 1, 0, 1, 1]
[0, 1, 0, 1, 2]
[0, 1, 0, 2, 0]
[0, 1, 0, 2, 1]
[0, 1, 0, 2, 2]
[0, 1, 1, 0, 0]
[0, 1, 1, 0, 1]
[0, 1, 1, 0, 2]
[0, 1, 1, 1, 0]
[0, 1, 1, 1, 1]
[0, 1, 1, 1, 2]
[0, 1, 1, 2, 0]
[0, 1, 1, 2, 1]
[0, 1, 1, 2, 2]
[0, 1, 2, 0, 0]
[0, 1, 2, 0, 1]
[0, 1, 2, 0, 2]
[0, 1, 2, 1, 0]
[0, 1, 2, 1, 1]
[0, 1, 2, 1, 2]
[0, 1, 2, 2, 0]
[0, 1, 2, 2, 1]
[0, 1, 2, 2, 2]
[0, 2, 0, 0, 0]
[0, 2, 0, 0, 1]
[0, 2, 0, 0, 2]
[0, 2, 0, 1, 0]
[0, 2, 0, 1, 1]
[0, 2, 0, 1, 2]
[0, 2, 0, 2, 0]
[0, 2, 0, 2, 1]
[0, 2, 0, 2, 2]
[0, 2, 1, 0, 0]
[0, 2, 1, 0, 1]
[0, 2, 1, 0, 2]
[0, 2, 1, 1, 0]
[0, 2, 1, 1, 1]
[0, 2, 1, 1, 2]
[0, 2, 1, 2, 0]
[0, 2, 1, 2, 1]
[0, 2, 1, 2, 2]
[0, 2, 2, 0, 0]
[0, 2, 2, 0, 1]
[0, 2, 2, 0, 2]
[0, 2, 2, 1, 0]
[0, 2, 2, 1, 1]
[0, 2, 2, 1, 2]
[0, 2, 2, 2, 0]
[0, 2, 2, 2, 1]
[0, 2, 2, 2, 2]
[1, 0, 0, 0, 0]
[1, 0, 0, 0, 1]
[1, 0, 0, 0, 2]
[1, 0, 0, 1, 0]
[1, 0, 0, 1, 1]
[1, 0, 0, 1, 2]
[1, 0, 0, 2, 0]
[1, 0, 0, 2, 1]
[1, 0, 0, 2, 2]
[1, 0, 1, 0, 0]
[1, 0, 1, 0, 1]
[1, 0, 1, 0, 2]
[1, 0, 1, 1, 0]
[1, 0, 1, 1, 1]
[1, 0, 1, 1, 2]
[1, 0, 1, 2, 0]
[1, 0, 1, 2, 1]
[1, 0, 1, 2, 2]
[1, 0, 2, 0, 0]
[1, 0, 2, 0, 1]
[1, 0, 2, 0, 2]
[1, 0, 2, 1, 0]
[1, 0, 2, 1, 1]
[1, 0, 2, 1, 2]
[1, 0, 2, 2, 0]
[1, 0, 2, 2, 1]
[1, 0, 2, 2, 2]
[1, 1, 0, 0, 0]
[1, 1, 0, 0, 1]
[1, 1, 0, 0, 2]
[1, 1, 0, 1, 0]
[1, 1, 0, 1, 1]
[1, 1, 0, 1, 2]
[1, 1, 0, 2, 0]
[1, 1, 0, 2, 1]
[1, 1, 0, 2, 2]
[1, 1, 1, 0, 0]
[1, 1, 1, 0, 1]
[1, 1, 1, 0, 2]
[1, 1, 1, 1, 0]
[1, 1, 1, 1, 1]
[1, 1, 1, 1, 2]
[1, 1, 1, 2, 0]
[1, 1, 1, 2, 1]
[1, 1, 1, 2, 2]
[1, 1, 2, 0, 0]
[1, 1, 2, 0, 1]
[1, 1, 2, 0, 2]
[1, 1, 2, 1, 0]
[1, 1, 2, 1, 1]
[1, 1, 2, 1, 2]
[1, 1, 2, 2, 0]
[1, 1, 2, 2, 1]
[1, 1, 2, 2, 2]
[1, 2, 0, 0, 0]
[1, 2, 0, 0, 1]
[1, 2, 0, 0, 2]
[1, 2, 0, 1, 0]
[1, 2, 0, 1, 1]
[1, 2, 0, 1, 2]
[1, 2, 0, 2, 0]
[1, 2, 0, 2, 1]
[1, 2, 0, 2, 2]
[1, 2, 1, 0, 0]
[1, 2, 1, 0, 1]
[1, 2, 1, 0, 2]
[1, 2, 1, 1, 0]
[1, 2, 1, 1, 1]
[1, 2, 1, 1, 2]
[1, 2, 1, 2, 0]
[1, 2, 1, 2, 1]
[1, 2, 1, 2, 2]
[1, 2, 2, 0, 0]
[1, 2, 2, 0, 1]
[1, 2, 2, 0, 2]
[1, 2, 2, 1, 0]
[1, 2, 2, 1, 1]
[1, 2, 2, 1, 2]
[1, 2, 2, 2, 0]
[1, 2, 2, 2, 1]
[1, 2, 2, 2, 2]
[2, 0, 0, 0, 0]
[2, 0, 0, 0, 1]
[2, 0, 0, 0, 2]
[2, 0, 0, 1, 0]
[2, 0, 0, 1, 1]
[2, 0, 0, 1, 2]
[2, 0, 0, 2, 0]
[2, 0, 0, 2, 1]
[2, 0, 0, 2, 2]
[2, 0, 1, 0, 0]
[2, 0, 1, 0, 1]
[2, 0, 1, 0, 2]
[2, 0, 1, 1, 0]
[2, 0, 1, 1, 1]
[2, 0, 1, 1, 2]
[2, 0, 1, 2, 0]
[2, 0, 1, 2, 1]
[2, 0, 1, 2, 2]
[2, 0, 2, 0, 0]
[2, 0, 2, 0, 1]
[2, 0, 2, 0, 2]
[2, 0, 2, 1, 0]
[2, 0, 2, 1, 1]
[2, 0, 2, 1, 2]
[2, 0, 2, 2, 0]
[2, 0, 2, 2, 1]
[2, 0, 2, 2, 2]
[2, 1, 0, 0, 0]
[2, 1, 0, 0, 1]
[2, 1, 0, 0, 2]
[2, 1, 0, 1, 0]
[2, 1, 0, 1, 1]
[2, 1, 0, 1, 2]
[2, 1, 0, 2, 0]
[2, 1, 0, 2, 1]
[2, 1, 0, 2, 2]
[2, 1, 1, 0, 0]
[2, 1, 1, 0, 1]
[2, 1, 1, 0, 2]
[2, 1, 1, 1, 0]
[2, 1, 1, 1, 1]
[2, 1, 1, 1, 2]
[2, 1, 1, 2, 0]
[2, 1, 1, 2, 1]
[2, 1, 1, 2, 2]
[2, 1, 2, 0, 0]
[2, 1, 2, 0, 1]
[2, 1, 2, 0, 2]
[2, 1, 2, 1, 0]
[2, 1, 2, 1, 1]
[2, 1, 2, 1, 2]
[2, 1, 2, 2, 0]
[2, 1, 2, 2, 1]
[2, 1, 2, 2, 2]
[2, 2, 0, 0, 0]
[2, 2, 0, 0, 1]
[2, 2, 0, 0, 2]
[2, 2, 0, 1, 0]
[2, 2, 0, 1, 1]
[2, 2, 0, 1, 2]
[2, 2, 0, 2, 0]
[2, 2, 0, 2, 1]
[2, 2, 0, 2, 2]
[2, 2, 1, 0, 0]
[2, 2, 1, 0, 1]
[2, 2, 1, 0, 2]
[2, 2, 1, 1, 0]
[2, 2, 1, 1, 1]
[2, 2, 1, 1, 2]
[2, 2, 1, 2, 0]
[2, 2, 1, 2, 1]
[2, 2, 1, 2, 2]
[2, 2, 2, 0, 0]
[2, 2, 2, 0, 1]
[2, 2, 2, 0, 2]
[2, 2, 2, 1, 0]
[2, 2, 2, 1, 1]
[2, 2, 2, 1, 2]
[2, 2, 2, 2, 0]
[2, 2, 2, 2, 1]
[2, 2, 2, 2, 2]

Python iterator, yield¶

In [12]:
#generating using yield (only iterator), does not create list of all solutions in memory
#using next(...) the code is executed till next yield
arr = [0]*n
def generate(level):
    if level == n:
        yield arr #returns next solution for the iterator
        return
    for element in range(k):
        arr[level] = element
        yield from generate(level+1) #yield recursively, solution by solution
        

for solution in generate(0):
    print(solution)
[0, 0, 0, 0, 0]
[0, 0, 0, 0, 1]
[0, 0, 0, 0, 2]
[0, 0, 0, 1, 0]
[0, 0, 0, 1, 1]
[0, 0, 0, 1, 2]
[0, 0, 0, 2, 0]
[0, 0, 0, 2, 1]
[0, 0, 0, 2, 2]
[0, 0, 1, 0, 0]
[0, 0, 1, 0, 1]
[0, 0, 1, 0, 2]
[0, 0, 1, 1, 0]
[0, 0, 1, 1, 1]
[0, 0, 1, 1, 2]
[0, 0, 1, 2, 0]
[0, 0, 1, 2, 1]
[0, 0, 1, 2, 2]
[0, 0, 2, 0, 0]
[0, 0, 2, 0, 1]
[0, 0, 2, 0, 2]
[0, 0, 2, 1, 0]
[0, 0, 2, 1, 1]
[0, 0, 2, 1, 2]
[0, 0, 2, 2, 0]
[0, 0, 2, 2, 1]
[0, 0, 2, 2, 2]
[0, 1, 0, 0, 0]
[0, 1, 0, 0, 1]
[0, 1, 0, 0, 2]
[0, 1, 0, 1, 0]
[0, 1, 0, 1, 1]
[0, 1, 0, 1, 2]
[0, 1, 0, 2, 0]
[0, 1, 0, 2, 1]
[0, 1, 0, 2, 2]
[0, 1, 1, 0, 0]
[0, 1, 1, 0, 1]
[0, 1, 1, 0, 2]
[0, 1, 1, 1, 0]
[0, 1, 1, 1, 1]
[0, 1, 1, 1, 2]
[0, 1, 1, 2, 0]
[0, 1, 1, 2, 1]
[0, 1, 1, 2, 2]
[0, 1, 2, 0, 0]
[0, 1, 2, 0, 1]
[0, 1, 2, 0, 2]
[0, 1, 2, 1, 0]
[0, 1, 2, 1, 1]
[0, 1, 2, 1, 2]
[0, 1, 2, 2, 0]
[0, 1, 2, 2, 1]
[0, 1, 2, 2, 2]
[0, 2, 0, 0, 0]
[0, 2, 0, 0, 1]
[0, 2, 0, 0, 2]
[0, 2, 0, 1, 0]
[0, 2, 0, 1, 1]
[0, 2, 0, 1, 2]
[0, 2, 0, 2, 0]
[0, 2, 0, 2, 1]
[0, 2, 0, 2, 2]
[0, 2, 1, 0, 0]
[0, 2, 1, 0, 1]
[0, 2, 1, 0, 2]
[0, 2, 1, 1, 0]
[0, 2, 1, 1, 1]
[0, 2, 1, 1, 2]
[0, 2, 1, 2, 0]
[0, 2, 1, 2, 1]
[0, 2, 1, 2, 2]
[0, 2, 2, 0, 0]
[0, 2, 2, 0, 1]
[0, 2, 2, 0, 2]
[0, 2, 2, 1, 0]
[0, 2, 2, 1, 1]
[0, 2, 2, 1, 2]
[0, 2, 2, 2, 0]
[0, 2, 2, 2, 1]
[0, 2, 2, 2, 2]
[1, 0, 0, 0, 0]
[1, 0, 0, 0, 1]
[1, 0, 0, 0, 2]
[1, 0, 0, 1, 0]
[1, 0, 0, 1, 1]
[1, 0, 0, 1, 2]
[1, 0, 0, 2, 0]
[1, 0, 0, 2, 1]
[1, 0, 0, 2, 2]
[1, 0, 1, 0, 0]
[1, 0, 1, 0, 1]
[1, 0, 1, 0, 2]
[1, 0, 1, 1, 0]
[1, 0, 1, 1, 1]
[1, 0, 1, 1, 2]
[1, 0, 1, 2, 0]
[1, 0, 1, 2, 1]
[1, 0, 1, 2, 2]
[1, 0, 2, 0, 0]
[1, 0, 2, 0, 1]
[1, 0, 2, 0, 2]
[1, 0, 2, 1, 0]
[1, 0, 2, 1, 1]
[1, 0, 2, 1, 2]
[1, 0, 2, 2, 0]
[1, 0, 2, 2, 1]
[1, 0, 2, 2, 2]
[1, 1, 0, 0, 0]
[1, 1, 0, 0, 1]
[1, 1, 0, 0, 2]
[1, 1, 0, 1, 0]
[1, 1, 0, 1, 1]
[1, 1, 0, 1, 2]
[1, 1, 0, 2, 0]
[1, 1, 0, 2, 1]
[1, 1, 0, 2, 2]
[1, 1, 1, 0, 0]
[1, 1, 1, 0, 1]
[1, 1, 1, 0, 2]
[1, 1, 1, 1, 0]
[1, 1, 1, 1, 1]
[1, 1, 1, 1, 2]
[1, 1, 1, 2, 0]
[1, 1, 1, 2, 1]
[1, 1, 1, 2, 2]
[1, 1, 2, 0, 0]
[1, 1, 2, 0, 1]
[1, 1, 2, 0, 2]
[1, 1, 2, 1, 0]
[1, 1, 2, 1, 1]
[1, 1, 2, 1, 2]
[1, 1, 2, 2, 0]
[1, 1, 2, 2, 1]
[1, 1, 2, 2, 2]
[1, 2, 0, 0, 0]
[1, 2, 0, 0, 1]
[1, 2, 0, 0, 2]
[1, 2, 0, 1, 0]
[1, 2, 0, 1, 1]
[1, 2, 0, 1, 2]
[1, 2, 0, 2, 0]
[1, 2, 0, 2, 1]
[1, 2, 0, 2, 2]
[1, 2, 1, 0, 0]
[1, 2, 1, 0, 1]
[1, 2, 1, 0, 2]
[1, 2, 1, 1, 0]
[1, 2, 1, 1, 1]
[1, 2, 1, 1, 2]
[1, 2, 1, 2, 0]
[1, 2, 1, 2, 1]
[1, 2, 1, 2, 2]
[1, 2, 2, 0, 0]
[1, 2, 2, 0, 1]
[1, 2, 2, 0, 2]
[1, 2, 2, 1, 0]
[1, 2, 2, 1, 1]
[1, 2, 2, 1, 2]
[1, 2, 2, 2, 0]
[1, 2, 2, 2, 1]
[1, 2, 2, 2, 2]
[2, 0, 0, 0, 0]
[2, 0, 0, 0, 1]
[2, 0, 0, 0, 2]
[2, 0, 0, 1, 0]
[2, 0, 0, 1, 1]
[2, 0, 0, 1, 2]
[2, 0, 0, 2, 0]
[2, 0, 0, 2, 1]
[2, 0, 0, 2, 2]
[2, 0, 1, 0, 0]
[2, 0, 1, 0, 1]
[2, 0, 1, 0, 2]
[2, 0, 1, 1, 0]
[2, 0, 1, 1, 1]
[2, 0, 1, 1, 2]
[2, 0, 1, 2, 0]
[2, 0, 1, 2, 1]
[2, 0, 1, 2, 2]
[2, 0, 2, 0, 0]
[2, 0, 2, 0, 1]
[2, 0, 2, 0, 2]
[2, 0, 2, 1, 0]
[2, 0, 2, 1, 1]
[2, 0, 2, 1, 2]
[2, 0, 2, 2, 0]
[2, 0, 2, 2, 1]
[2, 0, 2, 2, 2]
[2, 1, 0, 0, 0]
[2, 1, 0, 0, 1]
[2, 1, 0, 0, 2]
[2, 1, 0, 1, 0]
[2, 1, 0, 1, 1]
[2, 1, 0, 1, 2]
[2, 1, 0, 2, 0]
[2, 1, 0, 2, 1]
[2, 1, 0, 2, 2]
[2, 1, 1, 0, 0]
[2, 1, 1, 0, 1]
[2, 1, 1, 0, 2]
[2, 1, 1, 1, 0]
[2, 1, 1, 1, 1]
[2, 1, 1, 1, 2]
[2, 1, 1, 2, 0]
[2, 1, 1, 2, 1]
[2, 1, 1, 2, 2]
[2, 1, 2, 0, 0]
[2, 1, 2, 0, 1]
[2, 1, 2, 0, 2]
[2, 1, 2, 1, 0]
[2, 1, 2, 1, 1]
[2, 1, 2, 1, 2]
[2, 1, 2, 2, 0]
[2, 1, 2, 2, 1]
[2, 1, 2, 2, 2]
[2, 2, 0, 0, 0]
[2, 2, 0, 0, 1]
[2, 2, 0, 0, 2]
[2, 2, 0, 1, 0]
[2, 2, 0, 1, 1]
[2, 2, 0, 1, 2]
[2, 2, 0, 2, 0]
[2, 2, 0, 2, 1]
[2, 2, 0, 2, 2]
[2, 2, 1, 0, 0]
[2, 2, 1, 0, 1]
[2, 2, 1, 0, 2]
[2, 2, 1, 1, 0]
[2, 2, 1, 1, 1]
[2, 2, 1, 1, 2]
[2, 2, 1, 2, 0]
[2, 2, 1, 2, 1]
[2, 2, 1, 2, 2]
[2, 2, 2, 0, 0]
[2, 2, 2, 0, 1]
[2, 2, 2, 0, 2]
[2, 2, 2, 1, 0]
[2, 2, 2, 1, 1]
[2, 2, 2, 1, 2]
[2, 2, 2, 2, 0]
[2, 2, 2, 2, 1]
[2, 2, 2, 2, 2]

Modul itertools¶

In [15]:
from itertools import product
for solution in product(range(k), repeat=n):
    print(*solution)
0 0 0 0 0
0 0 0 0 1
0 0 0 0 2
0 0 0 1 0
0 0 0 1 1
0 0 0 1 2
0 0 0 2 0
0 0 0 2 1
0 0 0 2 2
0 0 1 0 0
0 0 1 0 1
0 0 1 0 2
0 0 1 1 0
0 0 1 1 1
0 0 1 1 2
0 0 1 2 0
0 0 1 2 1
0 0 1 2 2
0 0 2 0 0
0 0 2 0 1
0 0 2 0 2
0 0 2 1 0
0 0 2 1 1
0 0 2 1 2
0 0 2 2 0
0 0 2 2 1
0 0 2 2 2
0 1 0 0 0
0 1 0 0 1
0 1 0 0 2
0 1 0 1 0
0 1 0 1 1
0 1 0 1 2
0 1 0 2 0
0 1 0 2 1
0 1 0 2 2
0 1 1 0 0
0 1 1 0 1
0 1 1 0 2
0 1 1 1 0
0 1 1 1 1
0 1 1 1 2
0 1 1 2 0
0 1 1 2 1
0 1 1 2 2
0 1 2 0 0
0 1 2 0 1
0 1 2 0 2
0 1 2 1 0
0 1 2 1 1
0 1 2 1 2
0 1 2 2 0
0 1 2 2 1
0 1 2 2 2
0 2 0 0 0
0 2 0 0 1
0 2 0 0 2
0 2 0 1 0
0 2 0 1 1
0 2 0 1 2
0 2 0 2 0
0 2 0 2 1
0 2 0 2 2
0 2 1 0 0
0 2 1 0 1
0 2 1 0 2
0 2 1 1 0
0 2 1 1 1
0 2 1 1 2
0 2 1 2 0
0 2 1 2 1
0 2 1 2 2
0 2 2 0 0
0 2 2 0 1
0 2 2 0 2
0 2 2 1 0
0 2 2 1 1
0 2 2 1 2
0 2 2 2 0
0 2 2 2 1
0 2 2 2 2
1 0 0 0 0
1 0 0 0 1
1 0 0 0 2
1 0 0 1 0
1 0 0 1 1
1 0 0 1 2
1 0 0 2 0
1 0 0 2 1
1 0 0 2 2
1 0 1 0 0
1 0 1 0 1
1 0 1 0 2
1 0 1 1 0
1 0 1 1 1
1 0 1 1 2
1 0 1 2 0
1 0 1 2 1
1 0 1 2 2
1 0 2 0 0
1 0 2 0 1
1 0 2 0 2
1 0 2 1 0
1 0 2 1 1
1 0 2 1 2
1 0 2 2 0
1 0 2 2 1
1 0 2 2 2
1 1 0 0 0
1 1 0 0 1
1 1 0 0 2
1 1 0 1 0
1 1 0 1 1
1 1 0 1 2
1 1 0 2 0
1 1 0 2 1
1 1 0 2 2
1 1 1 0 0
1 1 1 0 1
1 1 1 0 2
1 1 1 1 0
1 1 1 1 1
1 1 1 1 2
1 1 1 2 0
1 1 1 2 1
1 1 1 2 2
1 1 2 0 0
1 1 2 0 1
1 1 2 0 2
1 1 2 1 0
1 1 2 1 1
1 1 2 1 2
1 1 2 2 0
1 1 2 2 1
1 1 2 2 2
1 2 0 0 0
1 2 0 0 1
1 2 0 0 2
1 2 0 1 0
1 2 0 1 1
1 2 0 1 2
1 2 0 2 0
1 2 0 2 1
1 2 0 2 2
1 2 1 0 0
1 2 1 0 1
1 2 1 0 2
1 2 1 1 0
1 2 1 1 1
1 2 1 1 2
1 2 1 2 0
1 2 1 2 1
1 2 1 2 2
1 2 2 0 0
1 2 2 0 1
1 2 2 0 2
1 2 2 1 0
1 2 2 1 1
1 2 2 1 2
1 2 2 2 0
1 2 2 2 1
1 2 2 2 2
2 0 0 0 0
2 0 0 0 1
2 0 0 0 2
2 0 0 1 0
2 0 0 1 1
2 0 0 1 2
2 0 0 2 0
2 0 0 2 1
2 0 0 2 2
2 0 1 0 0
2 0 1 0 1
2 0 1 0 2
2 0 1 1 0
2 0 1 1 1
2 0 1 1 2
2 0 1 2 0
2 0 1 2 1
2 0 1 2 2
2 0 2 0 0
2 0 2 0 1
2 0 2 0 2
2 0 2 1 0
2 0 2 1 1
2 0 2 1 2
2 0 2 2 0
2 0 2 2 1
2 0 2 2 2
2 1 0 0 0
2 1 0 0 1
2 1 0 0 2
2 1 0 1 0
2 1 0 1 1
2 1 0 1 2
2 1 0 2 0
2 1 0 2 1
2 1 0 2 2
2 1 1 0 0
2 1 1 0 1
2 1 1 0 2
2 1 1 1 0
2 1 1 1 1
2 1 1 1 2
2 1 1 2 0
2 1 1 2 1
2 1 1 2 2
2 1 2 0 0
2 1 2 0 1
2 1 2 0 2
2 1 2 1 0
2 1 2 1 1
2 1 2 1 2
2 1 2 2 0
2 1 2 2 1
2 1 2 2 2
2 2 0 0 0
2 2 0 0 1
2 2 0 0 2
2 2 0 1 0
2 2 0 1 1
2 2 0 1 2
2 2 0 2 0
2 2 0 2 1
2 2 0 2 2
2 2 1 0 0
2 2 1 0 1
2 2 1 0 2
2 2 1 1 0
2 2 1 1 1
2 2 1 1 2
2 2 1 2 0
2 2 1 2 1
2 2 1 2 2
2 2 2 0 0
2 2 2 0 1
2 2 2 0 2
2 2 2 1 0
2 2 2 1 1
2 2 2 1 2
2 2 2 2 0
2 2 2 2 1
2 2 2 2 2

Binary representation for subset (k=2)¶

In [13]:
for i in range(2**n):
    print(i, end=": ")
    vysl = []
    for _ in range(n):
        vysl.append(i % 2)
        i = i // 2
    print(*reversed(vysl)) #reversed only for the same order as previous solutions
0: 0 0 0 0 0
1: 0 0 0 0 1
2: 0 0 0 1 0
3: 0 0 0 1 1
4: 0 0 1 0 0
5: 0 0 1 0 1
6: 0 0 1 1 0
7: 0 0 1 1 1
8: 0 1 0 0 0
9: 0 1 0 0 1
10: 0 1 0 1 0
11: 0 1 0 1 1
12: 0 1 1 0 0
13: 0 1 1 0 1
14: 0 1 1 1 0
15: 0 1 1 1 1
16: 1 0 0 0 0
17: 1 0 0 0 1
18: 1 0 0 1 0
19: 1 0 0 1 1
20: 1 0 1 0 0
21: 1 0 1 0 1
22: 1 0 1 1 0
23: 1 0 1 1 1
24: 1 1 0 0 0
25: 1 1 0 0 1
26: 1 1 0 1 0
27: 1 1 0 1 1
28: 1 1 1 0 0
29: 1 1 1 0 1
30: 1 1 1 1 0
31: 1 1 1 1 1

Binary represenation 2¶

In [14]:
for i in range(2**n):
    print(i, end=": ")
    vysl = []
    for _ in range(n):
        vysl.insert(0, i % 2) #inserting at the begining
        i = i // 2
    print(*vysl)
0: 0 0 0 0 0
1: 0 0 0 0 1
2: 0 0 0 1 0
3: 0 0 0 1 1
4: 0 0 1 0 0
5: 0 0 1 0 1
6: 0 0 1 1 0
7: 0 0 1 1 1
8: 0 1 0 0 0
9: 0 1 0 0 1
10: 0 1 0 1 0
11: 0 1 0 1 1
12: 0 1 1 0 0
13: 0 1 1 0 1
14: 0 1 1 1 0
15: 0 1 1 1 1
16: 1 0 0 0 0
17: 1 0 0 0 1
18: 1 0 0 1 0
19: 1 0 0 1 1
20: 1 0 1 0 0
21: 1 0 1 0 1
22: 1 0 1 1 0
23: 1 0 1 1 1
24: 1 1 0 0 0
25: 1 1 0 0 1
26: 1 1 0 1 0
27: 1 1 0 1 1
28: 1 1 1 0 0
29: 1 1 1 0 1
30: 1 1 1 1 0
31: 1 1 1 1 1