1) закрашиваем бульдог, доберман, уход
2) все закрашиваем
3) закрашиваем доберман, бульдог
4) закрашиваем бульдог, доберман, и пересечени ухода с бульдогом и доберманом
Для приведения к СКНФ необходимо построить таблицу истинности, выбрать из нее строки, где функция принимает нулевое значение, а затем записать конъюнкции всех таких строк, где каждым элементом будет дизъюнкция переменных, взятых с инверсией.
<u>Перевожу на простой язык.</u>
Ищем в таблице истинности строки со значением функции, равным 0.
Для каждой такой строки берем переменные (обозначим переменную Р), и там где в колонке для Р записан 0, пишем Р, а где единица, пишем ¬Р.
Все эти Р для одной строки соединяем через ∨ и заключаем в круглые скобки. Так повторяем для каждой нулевой строки. Между скобками пишем ∧
Результаты даны во вложениях.
// PascalABC.NET 3.0, сборка 1157 от 02.02.2016
begin
var s:=ReadlnInteger('Число:').ToString;
if Pos(ReadlnString('Цифра:'),s)>0 then Writeln('Есть в числе')
else Writeln('Нет в числе')
end.
<u><em>Тестовое решение:</em></u>
Число: 634
Цифра: 3
Есть в числе
2 Кбайт = 2*1024 байт = 2048 байт
128 бит = 128/8 байт = 16 байт
2048+16 = 2064