Files
python/exercises/practice/killer-sudoku-helper/.meta/example.py

14 lines
473 B
Python
Raw Normal View History

2022-12-05 20:51:36 +01:00
import itertools
def combinations(target, size, exclude):
2022-12-05 20:54:19 +01:00
result = []
if size == 1:
return [[target]]
else:
2022-12-05 21:28:16 +01:00
possible = [index for index in range(1, int((target ** 2 / size) ** 0.6)) if index not in exclude]
for index in range(len(possible), 0, -1):
for seq in itertools.combinations(possible, index):
2022-12-05 20:54:19 +01:00
if sum(seq) == target and len(seq) == size:
result.append(list(seq))
2022-12-05 20:51:36 +01:00
return result