Ошибка в логике цикла

Есть задание: введите сюда описание изображения

Пытался решить так:

def f(m, n, a):
    return (2 * m + 3 * n > 40) or ((m < a) and (n <= a))


for m in range(1, 101):
    for n in range(1, 101):
        for a in range(1, 101):
            if f(m, n, a):
                print(a)
                break

Получаю на выходе кучу единиц. Как можно исправить?


Ответы (1 шт):

Автор решения: MaQo

break, находясь во вложенном цикле, прерывает только вложенный(внутренний) цикл. В данном случае for с переменной а. Нужно вывести переменную а на самый внешний цикл, поменять местами с m. И начать отсчет с 0, речь то о целых неотрицательных

→ Ссылка