Обозначим через ДЕЛ(n, m) утверждение «натуральное число n делится без остатка на натуральное число m». Для какого наименьшего натурального числа А формула
ДЕЛ(x, А) → (ДЕЛ(x, 21) + ДЕЛ(x, 35))
тождественно истинна (то есть принимает значение 1 при любом натуральном значении переменной x)?
(М. В. Кузнецова)
Приведём решение К. Ю. Полякова.
Введём обозначения:
A = ДЕЛ(x, А), D21 = ДЕЛ(x, 21), D35 = ДЕЛ(x, 35) и DN = ДЕЛ(x, N)
Введём множества:
A — множество натуральных чисел, для которых выполняется условие A, D21 — множество натуральных чисел, для которых выполняется условие D21, D35 — множество натуральных чисел, для которых выполняется условие D35 и т. д.
Запишем формулу из условия в наших обозначениях A → (D21 + D35) = 1.
Раскроем импликацию по правилу
Чтобы формула была тождественно истинной необходимо, чтобы (т. е. A = 0), когда D21 + D35 = 0. Тогда наибольшее множество A определяется как Amax = D21 + D35. Множество Amax, точно соответствующее выражению с помощью функции ДЕЛ получить невозможно. Выполним анализ исходной формулы с помощью кругов Эйлера. Чтобы в множество
входили все числа, не попавшие в объединение D21 + D35, достаточно, чтобы множество А находилось внутри этого объединения, например, совпадая с одним из множеств D35 или D21, или располагаясь внутри любого из них, что возможно, если использовать делители, кратные 21 или 35. В задании требуется найти наименьшее значение, этому условию соответствует 21.
Ответ: 21
Приведём другое решение на языке Python.
for a in range(1, 100):
k = 0
for x in range(1, 1000):
if (x % a == 0) <= ((x % 21 == 0) + (x % 35 == 0)):
k += 1
if k == 999:
print(a)
break

