№15 · решено
Делимость, наименьшее A
Обозначим ДЕЛ(n, m) утверждение «натуральное число n делится без остатка на натуральное число m». Для какого наименьшего натурального числа A формула ДЕЛ(x, A) → (ДЕЛ(x, 18) ∨ ¬ДЕЛ(x, 24)) тождественно истинна при любом натуральном значении переменной x?
Учебная задача
Ответвпиши то, что вывела программа
Показать разбор
- Напиши функцию d(n, m): делится ли n на m без остатка.
- Перепиши формулу в функцию f(x, A): → это <=, ¬ это not, каждую импликацию бери в скобки.
- Перебирай A и оставляй те, при которых all(f(x, A)) истинно для всех x от 1 до 1999.
- Нужно наименьшее A, поэтому возьми min и выведи результат.
def d(n, m):
return n % m == 0
def f(x, A):
return d(x, A) <= (d(x, 18) or (not d(x, 24)))
print(min(A for A in range(1, 200) if all(f(x, A) for x in range(1, 2000))))