Обозначим через \(ДЕЛ(n, \, m)\) утверждение «натуральное число \(n\) делится без остатка на натуральное число \(m\)»; пусть на числовой прямой дан отрезок \(B = [70; \, 90].\)
Для какого наибольшего натурального числа \(A\) логическое выражение $$ДЕЛ(x, \, A) \lor ((x \in B) \to ДЕЛ(x, 16))$$ истинно (т.е. принимает значение \(1\)) при любом целом положительном значении переменной \(x?\)
Решение:
Если \(x \notin B,\) импликация \(((x \in B) \to ДЕЛ(x, 16))\) равна \(1\) и все выражение истинно. Рассмотрим случай \(x \in B.\) Если число из этого отрезка не делится на \(16,\) эта импликация опять истинна. Ложно она лишь в случае, когда число из \(B\) делится на \(16.\) Такое число единственное — \(80.\) Максимальный делитель его — 80.
Программный способ:
Python
def div(n, m):
return n % m == 0
def expr(x, A):
return div(x, A) or ((70 <= x <= 90) <= (not div(x, 16)))
for A in range(90, 0, -1):
if all(expr(x, A) for x in range(70, 91)):
print(A)
break
Ответ: \(80\)
Эффективно готовьтесь к ЕГЭ по информатике с новым тренажёром, эмулирующем работу станции КЕГЭ, которая используется на реальном экзамене