№15 · решено
Делимость, наибольшее A
Обозначим ДЕЛ(n, m) утверждение «натуральное число n делится без остатка на натуральное число m». Для какого наибольшего натурального числа A формула ДЕЛ(x, 24) → (¬ДЕЛ(x, A) → ¬ДЕЛ(x, 40)) тождественно истинна (то есть принимает значение 1 при любом натуральном значении переменной x)?
Учебная задача
Ответвпиши то, что вывела программа
Показать разбор
- Напиши функцию d(n, m): делится ли n на m без остатка.
- Перепиши формулу в функцию f(x, A): → это <=, ¬ это not, каждую импликацию бери в скобки.
- Перебирай A и оставляй те, при которых all(f(x, A)) истинно для всех x от 1 до 1999.
- Нужно наибольшее 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))))