На числовой прямой даны два отрезка:
Элементами множеств A, P, Q являются натуральные числа, причем
Известно, что выражение
истинно (т.е. принимает значение 1) при любом значении переменной х.
Определите наибольшее возможное количество элементов в множестве .
Решение руками:
Раскрываем импликацию:
Найдем иксы, при которых известная часть не выполняется, для этого выполним инверсию известной части:
Нужно найти случаи, когда это выражение будет истинно, потому что для этих случаев в исходном выражении известная часть будет давать ложь. Данное выражение будет давать истину в тех случаях, когда не принадлежит отрезку
и не принадлежит отрезку
. Такие
находятся вне множеств
и
. Следовательно, все эти точки должны НЕ входить в множество
, тогда множество
это объединение множеств
и
, а именно
Количество элементов в нем равно 17.
Решение программой:
def f(x, P, Q, A):
return ((x in A) <= (x in P)) or ((not (x in Q)) <= (not (x in A)))
P = set([x for x in range(2, 21, 2)])
Q = set([x for x in range(3, 31, 3)])
A = set(x for x in range(40))
for x in range(40):
if not f(x, P, Q, A):
A.remove(x)
print(len(A))