15.04 Побитовая конъюнкция
Ошибка.
Попробуйте повторить позже
Определите наибольшее натуральное число A, такое что выражение
тождественно истинно (то есть принимает значение 1 при любом натуральном значении переменной X)?
Решение руками:
Преобразуем выражение по законам алгебры логики:
Заметим, что первое слагаемое логической суммы является импликацией , которая не является
истинной для всех
. Тогда необходимо и достаточно, чтобы второе слагаемое логической суммы было тождественно
истинным.
Итак, импликация должна быть тождественно истиной. Запишем число 10 в двоичной системе
счисления:
Единичные биты, стоящие в правой части, должны являться единичными битами левой. Поэтому в правой части единичными битами независимо друг от друга могут быть (а могут и не быть) только первый и третий биты (считая справа налево, начиная с нуля). Поскольку искомое А – наибольшее натуральное число, все биты, которые могут быть единичными будут единичными.
Тем самым, наибольшее .
Решение программой:
Для нахождения наибольшего натурального числа , при котором выражение
тождественно истинно для всех натуральных , используем программный перебор. Идея заключается в том,
чтобы проверить все значения
от
до
. Для каждого
перебираем все значения
от
до
и
вычисляем логическое выражение формулы. Если хотя бы для одного
формула ложна, текущее
отбрасываем.
Если формула истинна для всех
, фиксируем найденное
. В конце перебора максимальное подходящее
и
будет ответом.
# перебор возможных значений A от 1 до 999 for a in range(1, 1000): # флаг: True - формула выполняется для всех X, False - хотя бы один X нарушает flag = True for x in range(1, 1000): # проверка истинности формулы для текущего X и A if ((x & 10 != 0) or (x & 39 == 0) or (x & a == 0)) == False: flag = False break # если формула выполняется для всех X, выводим A if flag: print(a)
Специальные программы

Программа
лояльности v2.0
Приглашай друзей в Школково и получай вознаграждение до 10%!

Крути рулетку
и выигрывай призы!
Крути рулетку и покупай курсы со скидкой, которая привязывается к вашему аккаунту.

Бесплатное онлайн-обучение
Для школьников из приграничных территорий России, проживающих в ДНР, ЛНР, Херсонской, Запорожской, Белгородской, Курской, Брянской областях и Крыму.

Налоговые вычеты
Узнай, как получить налоговый вычет при оплате обучения в «Школково».

Специальное предложение
для учителей
Бесплатный доступ к любому курсу подготовки к ЕГЭ, ОГЭ и олимпиадам от «Школково». Мы с вами делаем общее и важное дело, а потому для нас очень значимо быть чем-то полезными для учителей по всей России!

Вернём деньги за курс
за твою сотку на ЕГЭ
Сдать экзамен на сотку и получить обратно деньги за подготовку теперь вполне реально!