Интересные примеры по алгебре логики (2 часть)
Рассмотрим решение ещё двух примеров, выражения в которых должны быть ложными.
Найти количество двухзначных натуральных чисел x, для которых ложно высказывание:
(x <= 81) И НЕ (x оканчивается на чётную цифру).
Источник публикации самих примеров, к сожалению, пока неизвестен.
Решение
Применяем инверсию ко всему выражению, чтобы получить выражение, которое должно быть истинным.
НЕ ((x <= 81) И НЕ (x оканчивается на чётную цифру))
НЕ (x <= 81) ИЛИ НЕ (НЕ (x оканчивается на чётную цифру))
(x > 81) ИЛИ (x оканчивается на чётную цифру)
Двузначные натуральные числа – от 10 до 99.
Выполняться должно хотя бы одно из условий. Если выполняется первое условие, подходят числа от 82 до 99. Таких чисел 18 (99 – 81).
Чтобы выполнилось второе условие, число должно быть чётным. Если оно заканчивается на чётную цифру, значит, делится на 2. Рассмотрим оставшиеся после выполнения первого условия двузначные числа, то есть от 10 до 81. Среди них каждое второе число чётное, начиная с десяти. То есть, таких чисел 36 ((81 – 9)/2)
Общее количество чисел, для которых выполняется хотя бы одно из условий равно 54 (18 + 36).
Решение на Python
k = 0
for x in range(10, 100):
if not((x <= 81) and not(x % 2 == 0)):
k += 1
print(k)
Найти количество двухзначных натуральных чисел x, для которых ложно высказывание:
НЕ (x >= 74) И НЕ (x чётное).
Решение
Применяем инверсию ко всему выражению, чтобы получить выражение, которое должно быть истинным.
НЕ (НЕ (x >= 74) И НЕ (x чётное))
НЕ (НЕ (x >= 74)) ИЛИ НЕ (НЕ (x чётное))
(x >= 74) ИЛИ (x чётное)
Количество двузначных чисел от 74 до 99 – 26 (99 – 73). Чётных чисел от 10 до 73 – 32 ((73 – 9) / 2)
Общее количество: 26 + 32 = 58
Решение на Python
k = 0
for x in range(10, 100):
if not(not(x >= 74) and not(x % 2 == 0)):
k += 1
print(k)
В программах цветом выделено условие, которое берётся из примера. Поскольку числа должны быть двузначными, x в цикле меняет значение от 10 до 99. В переменной-счётчике k хранится количество соответствующих условию чисел.