Тема 15. Алгебра логики – преобразование логических выражений

15.03 Неравенства

Вспоминай формулы по каждой теме
Решай новые задачи каждый день
Вдумчиво разбирай решения
ШКОЛКОВО.
Готовиться с нами - ЛЕГКО!
Подтемы раздела алгебра логики – преобразование логических выражений
Решаем задачу:

Ошибка.
Попробуйте повторить позже

Задача 1#41967

Для какого наименьшего целого числа A  формула

(6x + 8y ⁄= 128)∨ (x < y) ∨(3y < A )

тождественно истинна, (т. е. принимает значение 1  ) при любых целых положительных значениях переменных   x  и y  ?

Показать ответ и решение

Решение руками

Найдем при каких x  и y  выражение ложно. Для этого отрицаем известную часть:

(
{ 6x +8y = 128
(
  x ≥ y

Все возможные x  и y  , где x ≥ y  :

|x--|y-|
|---|--|
|12-|7-|
|16 |4 |
|20-|1-|
-------|

Нужно, чтобы для таких x  и y  выражение стало истинно. Значит нужно, чтобы неравенство 3y < A  для них выполнялось. Максимальное y = 7  , значит, A > 21  . Наименьшее A = 22  .

Идея решения:

Перебираем целые значения A  по возрастанию (в коде — от -10 до 999). Для каждого A  вложенными циклами for перебираем положительные значения x  и y  (в коде — от 1 до 2999) и проверяем выполнение выражения

(6x + 8y ⁄= 128)∨ (x < y)∨ (3y < A ).

Если для какой-либо пары (x,y)  выражение не выполняется (ложно), текущее A  отбрасываем. Первое A  , для которого выражение истинно для всех перебранных (x,y)  , и будет искомым наименьшим.

Решение программой:

# перебираем значения A по возрастанию
for a in range(-10, 1000):
    c = 0  # флаг, показывает наличие ложного выражения
    # перебираем положительные x
    for x in range(1, 3000):
        # перебираем положительные y
        for y in range(1, 3000):
            # проверяем выражение
            if ((6 * x + 8 * y != 128) or (x < y) or (3 * y < a)) == False:
                c = 1  # выражение ложно, A не подходит
                break
        if c == 1:  # если флаг поднят, выходим из цикла по x
            break
    if c == 0:  # если ложных выражений не найдено
        print(a)  # наименьшее подходящее A
        break

Ответ: 22

Специальные программы

Все специальные программы

Программа
лояльности v2.0

Приглашай друзей в Школково и получай вознаграждение до 10%!

Крути рулетку
и выигрывай призы!

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

Бесплатное онлайн-обучение

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

Налоговые вычеты

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

Специальное предложение
для учителей

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

Вернём деньги за курс
за твою сотку на ЕГЭ

Сдать экзамен на сотку и получить обратно деньги за подготовку теперь вполне реально!

cyberpunkMouse
cyberpunkMouse
Рулетка
Вы можете получить скидку в рулетке!