n = 5 #number of items
k = 3 #number of possibilities (2 for 0/1 Knapsack)
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]
iterator, yield¶#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]
itertools¶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
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
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