Все задачи №15
№15

Делимость, наибольшее A

Обозначим ДЕЛ(n, m) утверждение «натуральное число n делится без остатка на натуральное число m». Для какого наибольшего натурального числа A формула ДЕЛ(x, 24) → (¬ДЕЛ(x, A) → ¬ДЕЛ(x, 40)) тождественно истинна (то есть принимает значение 1 при любом натуральном значении переменной x)?

Учебная задача

Ответвпиши то, что вывела программа
Показать разбор
  1. Напиши функцию d(n, m): делится ли n на m без остатка.
  2. Перепиши формулу в функцию f(x, A): → это <=, ¬ это not, каждую импликацию бери в скобки.
  3. Перебирай A и оставляй те, при которых all(f(x, A)) истинно для всех x от 1 до 1999.
  4. Нужно наибольшее A, поэтому возьми max и выведи результат.
def d(n, m):
    return n % m == 0

def f(x, A):
    return d(x, 24) <= ((not d(x, A)) <= (not d(x, 40)))

print(max(A for A in range(1, 1000) if all(f(x, A) for x in range(1, 2000))))