У меня есть алгоритм:
n = int(input())
arr = [ int(input()) for i in range(n) ]
teaMin = int(input())
sm = sum(arr)
sums = set()
sums.add(0)
arr.sort()
for item in arr:
for k in range(sm, min(arr) - 1, -1):
if (k - item) in sums:
sums.add(k)
Он находит все комбинации сложения эл-ов массива. Мне нужно, чтобы он работал пока в этом списке не появится эл-т, который делится на число k без остатка (число k вводит пользователь).
Пример: пользователь в k ввёл 16[2,3,5]
На выходе:[2, 3, 5, (5+2)7, (5+3)8, ((2+3)+5)10, (эл-та удовлетворяющего условию нет, поэтому второй круг)(10+2)12, (10+3)13, (10+5)15 ... 30, (30+2)32
На 32 поиск комбинаций должен остановится, т.к 32 % 16 = 0
Повторяющиеся эл-ты я не стал записывать