Задание №15: Истинность логических выражений на отрезках и множествах
Основные типы и прототипы задания №15:
Числовые отрезки
Множества натуральных чисел
Поразрядная конъюнкция (&)
Делимость (ДЕЛ)
Условие задания
Обозначим через m & n поразрядную конъюнкцию неотрицательных целых чисел m и n. Например, 14 & 5 = 11102 & 01012 = 01002 = 4. Для какого наименьшего натурального числа А формула
(x & 73156 = 0) → ((x & 63567 ≠ 0) → (x & A ≠ 0))
тождественно истинно (то есть принимает значение 1 при любом натуральном значении переменной X)?
Ответ:
57355
Решение на Python: Побитовое И: ищем наименьшее A
bad = [] for x in range(1, 140000): if x & 73156 == 0 and x & 63567 != 0: bad.append(x) for A in range(1, 100000): if all(x & A != 0 for x in bad): print(A) break
Этот код разобран по шагам в разборе задания №15: там же типичные ошибки и лайфхаки.