Алгоритм решения задания 15. Часть 3
Учимся решать 15 задания третьего типа
Читать
Обозначим через ДЕЛ(n, m) утверждение «натуральное число n делится без остатка на натуральное число m».
Пусть на числовой прямой дан отрезок B = [60,80].
Для какого наибольшего натурального числа А логическое выражение ДЕЛ(x, А) ∨ ((x ∈ B) → ¬ДЕЛ(x, 22)) истинно (т.е. принимает значение 1) при любом целом положительном значении переменной х?
Правильный ответ:
66
def f(A):
B = frozenset(range(60, 81))
for x in range(1, 100):
f = (x % A == 0) or ((x in B) <= (x % 22 != 0))
if not f:
return False
return True
for A in range(1, 100)[::-1]:
if f(A):
print(A)
break
