@egeriev

Как сделать многократное выполнение алгоритма пока не будет выполнено какое-либо условие?

У меня есть алгоритм:
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
Повторяющиеся эл-ты я не стал записывать
  • Вопрос задан
  • 231 просмотр
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы