Смотрим, каких строк больше - с единицей в конечной функции F или с нулём. Тут поровну и поступаем, как для случая, когда единичных значений больше.
Выписываем строки с единицами и соединяем их по ИЛИ
F = 000 ∨ 001 ∨ 011 ∨ 101
Заменяем нули на значения переменных с отрицанием, а единицы - просто на значения переменных.
F = ¬x₁¬x₂¬x₃ ∨ ¬x₁¬x₂x₃ ∨ ¬x₁x₂x₃ ∨ x₁¬x₂x₃
Это выражение можно упростить, но для этого удобнее перейти к другой системе обозначений, заменяя отрицание (¬) надчеркиванием, а дизъюнкцию (∨) знаком сложения (+). Мы не ставили между переменными знак конъюнкции (& или ∧), чтобы излишне не загромождать запись, но должны понимать, что ¬x₁¬x₂¬x₃ - это на самом деле запись выражения
¬x₁ ∧ ¬x₂ ∧ ¬x₃
Если бы нулевых строк с таблице было больше, удобнее было бы выписать все нулевые, а потом перед всем полученным выражением поставить общий знак отрицания.
Воспользуемся формулой Хартли
N = 2^k, где
N — это количество значений, а k — количество бит.
N = 2^10 = 1024
Var S,i:integer;
Begin
S:=0;
For i:= 21 to 81 do
if ((i div 10) mod 2 = 0 )and(i mod 10 = 1) then S:=S+i*i*i;
Write('S = ',S);
End.
При k=1 s:= s*s = 2*2 = 4
При k=2 s:= s*s = 4*4 = 16
При k=3 s:= s*s = 16*16 = 256