Задача к ЕГЭ по информатике на тему «побитовая конъюнкция» №2

Определите наименьшее натуральное число A, такое что выражение

((X &13 ⁄= 0)∨(X &13 = 0)) → ((X&A ⁄= 0)∨ (X &39 = 0))

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

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

Упростим выражение, раскрыв импликацию:

((X &13 = 0)∧ (X&13 ⁄= 0))∨ ((X &A  ⁄= 0) ∨(X &39 = 0))

Преобразуем выражение по законам алгебры логики:

(X &39 = 0)∨ (X&A  ⁄= 0)

Таким образом из выражения видно, что левое выражение должно выполняться, когда правое не выполняется, следовательно A = 39  .

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

for a in range(1, 1000):
    flag = True
    for x in range(1, 1000):
        if (((x & 13 != 0) or (x & 13 == 0)) <= ((x & a != 0) or (x & 39 == 0))) == False:
            flag = False
            break
    if flag:
        print(a)
        break

Ответ: 39
Оцените статью
Я решу все!