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

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

Задача 1#63672

Обозначим через ТРЕУГ(n,m, k  ) утверждение «существует невырожденный треугольник с длинами сторон n,m  и k  ».

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

¬ ((Т РЕУ Г(x, 6, 10) ≡ (¬(М АК С (x, 7) > 35)))∧ ТР ЕУ Г(x, A, 5))

тождественно истинна (т. е. принимает значение 1) при любом натуральном значении переменной x  ?

Примечание. М АК С(a,b) = a  , если a > b  и МА КС (a,b) = b  , если a ≤ b  .

Показать ответ и решение
def triangle(a, b, c):
    a, b, c = sorted([a, b, c])
    return a + b > c

for A in range(1, 100):
    flag = True
    for x in range(1, 100):
        if not((triangle(x, 6, 10) == (not(max(x, 7) > 35))) and triangle(x, A, 5)) == False:
            flag = False
    if flag:
        print(A)

Ответ: 31

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

Задача 2#63670

Обозначим через ТРЕУГ(n,m, k  ) утверждение «существует невырожденный треугольник с длинами сторон n,m  и k  ».

Найдите сумму всех натуральных чисел A  , для которых формула

¬(¬ТР ЕУ Г(x, 111, A )∧ ¬Т РЕ УГ (101, x, A ))∨ (x > 200)

тождественно истинна (т. е. принимает значение 1) при любом натуральном значении переменной x  ?

Показать ответ и решение
def triangle(a, b, c):
    a, b, c = sorted([a, b, c])
    return a + b > c

summa = 0
for A in range(1, 1000):
    flag = True
    for x in range(1, 1000):
        if (not(not triangle(x, 111, A) and not triangle(101, x, A)) or x > 200) == False:
            flag = False
    if flag:
        summa += A
print(summa)

Ответ: 212

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

Задача 3#63669

Обозначим через ТРЕУГ(n,m, k  ) утверждение «существует невырожденный треугольник с длинами сторон n,m  и k  ».

Для скольких натуральных чисел A  формула

ТР ЕУ Г(x, 20, 45)∨ Т РЕ УГ (x, 15, 50 )∨ ТР ЕУ Г(М А КС (x, 16), 36, A )∨ (x > 75)

тождественно истинна (т. е. принимает значение 1) при любом натуральном значении переменной x  ?

Примечание. М АК С(a,b) = a  , если a > b  и МА КС (a,b) = b  , если a ≤ b  .

Показать ответ и решение
def triangle(a, b, c):
    a, b, c = sorted([a, b, c])
    return a + b > c

counter = 0
for A in range(1, 100):
    flag = True
    for x in range(1, 100):
        if (triangle(x, 20, 45) or triangle(x, 15, 50) or triangle(max(x, 16), 36, A) or (x > 75)) == False:
            flag = False
    if flag:
        counter += 1
print(counter)

Ответ: 12

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

Задача 4#63668

Обозначим через ТРЕУГ(n,m, k  ) утверждение «существует невырожденный треугольник с длинами сторон n,m  и k  ».

Найдите сумму всех натуральных чисел A  , для которых формула

¬(¬ТР ЕУ Г(x, 333, A )∧ ¬Т РЕ УГ (879, x, A ))∨ (x > 600)

тождественно истинна (т. е. принимает значение 1) при любом натуральном значении переменной x  ?

Показать ответ и решение
def triangle(a, b, c):
    a, b, c = sorted([a, b, c])
    return a + b > c

summa = 0
for A in range(1, 1000):
    flag = True
    for x in range(1, 1000):
        if (not(not triangle(x, 333, A) and not triangle(879, x, A)) or (x > 600)) == False:
            flag = False
    if flag:
        summa += A
print(summa)

Ответ: 1212

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

Задача 5#63667

Обозначим через ТРЕУГ(n,m, k  ) утверждение «существует невырожденный треугольник с длинами сторон n,m  и k  ».

Найдите сумму всех натуральных чисел A  , для которых формула

¬(¬Т РЕ УГ (x, 546, A) ∧¬ ТР ЕУ Г(777, x, A ))∨(x > 1000)

тождественно истинна (т. е. принимает значение 1) при любом натуральном значении переменной x  ?

Показать ответ и решение
def triangle(a, b, c):
    a, b, c = sorted([a, b, c])
    return a + b > c

summa = 0
for A in range(1, 1000):
    flag = True
    for x in range(1, 1000):
        if (not(not triangle(x, 546, A) and not triangle(777, x, A)) or x > 1000) == False:
            flag = False
    if flag:
        summa += A
print(summa)

Ответ: 1323

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

Задача 6#63666

Обозначим через ТРЕУГ(n,m, k  ) утверждение «существует невырожденный треугольник с длинами сторон n,m  и k  ».

Для скольких натуральных чисел A  формула

ТР ЕУ Г(x, 10, 28)∨ Т РЕ УГ (x, 14, 56 )∨ ТР ЕУ Г(М А КС (x, 20), 25, A )∨ (x > 60)

тождественно истинна (т. е. принимает значение 1) при любом натуральном значении переменной x  ?

Примечание. М АК С(a,b) = a  , если a > b  и МА КС (a,b) = b  , если a ≤ b  .

Показать ответ и решение
def triangle(a, b, c):
    a, b, c = sorted([a, b, c])
    return a + b > c

counter = 0
for A in range(1, 100):
    flag = True
    for x in range(1, 100):
        if (triangle(x, 10, 28) or triangle(x, 14, 56) or triangle(max(x, 20), 25, A) or (x > 60)) == False:
            flag = False
    if flag:
        counter += 1
print(counter)

Ответ: 27

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

Задача 7#63665

Обозначим через ТРЕУГ(n,m, k  ) утверждение «существует невырожденный треугольник с длинами сторон n,m  и k  ».

Для скольких натуральных чисел A  формула

ТР ЕУ Г(x, 25, 36)∨ Т РЕ УГ (x, 28, 55 )∨ ТР ЕУ Г(М А КС (x, 20), 40, A )∨ (x > 80)

тождественно истинна (т. е. принимает значение 1) при любом натуральном значении переменной x  ?

Примечание. М АК С(a,b) = a  , если a > b  и МА КС (a,b) = b  , если a ≤ b  .

Показать ответ и решение
def triangle(a, b, c):
    a, b, c = sorted([a, b, c])
    return a + b > c

counter = 0
for A in range(1, 100):
    flag = True
    for x in range(1, 100):
        if (triangle(x, 25, 36) or triangle(x, 28, 55) or triangle(max(x, 20), 40, A) or (x > 80)) == False:
            flag = False
    if flag:
        counter += 1
print(counter)

Ответ: 39

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

Задача 8#63126

Обозначим через ТРЕУГ(n,m, k  ) утверждение «существует невырожденный треугольник с длинами сторон n,m  и k  ».

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

¬((Т РЕ У Г(x, 12, 20) ≡ (¬(М А КС (x, 5 ) > 28)))∧ Т РЕ УГ (x, A, 3))

тождественно истинна (т. е. принимает значение 1) при любом натуральном значении переменной x  ?

Примечание. М АК С(a,b) = a  , если a > b  и МА КС (a,b) = b  , если a ≤ b  .

Показать ответ и решение
def triangle(a, b, c):
    a, b, c = sorted([a, b, c])
    return a + b > c

for A in range(1, 100):
    flag = True
    for x in range(1, 100):
        if not((triangle(x, 12, 20) == (not(max(x, 5) > 28))) and triangle(x, A, 3)) == False:
            flag = False
    if flag:
        print(A)

Ответ: 6

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

Задача 9#63124

Обозначим через ТРЕУГ(n,m, k  ) утверждение «существует невырожденный треугольник с длинами сторон n,m  и k  ».

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

¬((Т РЕ У Г(x, 11, 18) ≡ (¬(М А КС (x, 5 ) > 15)))∧ Т РЕ УГ (x, A, 5))

тождественно истинна (т. е. принимает значение 1) при любом натуральном значении переменной x  ?

Примечание. М АК С(a,b) = a  , если a > b  и МА КС (a,b) = b  , если a ≤ b  .

Показать ответ и решение
def triangle(a, b, c):
    a, b, c = sorted([a, b, c])
    return a + b > c

for A in range(1, 100):
    flag = True
    for x in range(1, 100):
        if not((triangle(x, 11, 18) == (not(max(x, 5) > 15))) and triangle(x, A, 5)) == False:
            flag = False
    if flag:
        print(A)

Ответ: 24

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

Задача 10#63122

Введём два утверждения. ОСТРОУГ(a, b, c) – «существует остроугольный треугольник со сторонами a, b и c». ТУПОУГ(a, b, c) – «существует тупоугольный треугольник со сторонами a, b и c». Аргументы a, b и c в каждой из функций подаются в неё по возрастанию, иначе функция возвращает ложное значение.

Для какой минимальной длины отрезка A  формула

 ------------------  -----------------
(ОС ТРО УГ(39,80,x)∧ ТУП ОУ Г(65,72,x)) → (((x > 80)∧(x < 119)) → (x ∈ A ))

тождественно истина (т. е. принимает значение 1) при любом натуральном значении переменной x  ?

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

Раскрываем импликацию и упрощаем выражение, получаем:

О СТР ОУ Г(39,80,x)∨ ТУ ПО УГ(65,72,x)∨ (x ≤ 80)∨ (x ≥ 119)∨ (x ∈ A)

«Враги» хотят, чтобы выражение было ложно:

(
||О СТ РОУ Г(39,80,x) = 0
||||
|||{Т УП ОУ Г(65,72,x) = 0

|||x > 80
||||x < 119
||(
 x ∕∈ A

Разберёмся, когда первый треугольник не будет остроугольным и когда второй треугольник не будет тупоугольным. При x ≤ 41  или x ≥ 119  треугольник (39, 80, x) не существует. При x ≤ 7  или x ≥ 137  треугольник (65, 72, x) не существует. По условию в функции ОСТРОУГ(a, b, c) и ТУПОУГ(a, b, c) подаются аргументы по возрастанию, поэтому x будет являться наибольшей стороной.

Треугольник является остроугольным, когда a2 + b2 < c2  и является тупоугольным при a2 + b2 > c2  . Таким образом, получаем, что для (39,80,x)  остроугольный треугольник не существует при    √ --2----2
x ≥  39 + 80  , то есть при x ≥ 89  . Аналогично для (65,72,x )  , тупоугольный треугольник не существует при     √--------
x ≤  652 +722  , то есть при x ≤ 97  .

Преобразуем систему в соответствии с нашими высказываниями.

(
|| x ≥ 89
||||
|||{ x ≤ 97     ({
           ⇒   x ∈ [89;97]
||| x > 80     ( x ∕∈ A
|||| x < 119
||(
  x∈∕A

«Друзья» хотят победить врагов, поэтому им нужно, чтобы следующая система была истинной при всех x  и A  .

⌊
 x ∕∈ [89;97]
⌈
 x ∈ A

Это обеспечивается тогда, когда [89,97] ⊂ A  . Следовательно, минимальная длина A  обеспечивается, когда A = [89,97]  . Таким образом, длина A  равна 8  .

Ответ: 8

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

Задача 11#37819

Определим через m &n  поразрядную конъюнкцию неотрицательных целых чисел m  и n  . Найдите количество неотрицательных целых x  не превосходящих 264 − 1  , таких что значение следующей формулы истинно: (x&1365 = 1365)∧ (x&682 = 682)  .

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

Заметим, что формула фактически говорит следующее: младшие 11  бит равны 1  , а все остальные биты — любые. Всего в числах, не превышающих 264−1  , 64  бита, из которых 11  зафиксированы.

Значит ответ это 264−11 = 253 = 9007199254740992  .

Это легко можно подсчитать либо в столбик либо при помощи калькулятора/программирования на компьютере.

Ответ: 9007199254740992

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

Задача 12#6483

Сколько различных решений имеет уравнение:
((K  ∨ L ) ∧ (M ∨ N )) = 1,
где K, L, M  и N  — логические переменные?

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

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

Конъюнкция истинна, когда истинны все составляющие ее утверждения. То есть одновременно должны выполняться условия K  ∨ V =  1  и M  ∨ N  = 1.
Дизъюнкция верна, когда истинно хотя бы одно из составляющих ее утверждений. Значит, K  ∨ V =  1  в трех случаях: если K  = 1, V = 0;K  =  0,V = 1; K =  1,V =  1.  Аналогично можно получить, что M  ∨ N  = 1  тоже в трех случаях.
Так как на каждый вариант для первого утверждения приходится по три варианта для второго утверждения, общее количество вариантов равно 3 ⋅ 3 = 9.

Решение прогой

count = 0
for k in range(2):
    for l in range(2):
        for m in range(2):
            for n in range(2):
                if ((k or l) and (m or n)) == 1:
                    count += 1
print(count)

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