<span>Правила:
</span>¬(¬A)=A<span>
A</span>→B=¬A∨B
¬(A∧B)=¬A∨¬B
<span>Преобразуем:
((J→K)→(M/\N/\L))/\((J/\¬K)→¬(M/\N/\L))/\(M→J)=1
</span>((¬J∨K)→(M∧N∧L))∧((¬J∨K)∨¬M∨¬N∨¬L)∧(¬M∨J)=1
(J∧¬K∨M∧N∧L)∧(¬J∨K∨¬M∨¬N∨¬L)∧(¬M∨J)=1
Начнем с J:
Если J=0, то M обязательно должно быть 0(из-за последней скобки), НО тогда в первой не получится 1, значит, J=1.
рассмотрим вариант с J=1.
К равен 1 или 0. Если К=1, то в первой скобке получится единица только тогда, когда M,N,L будут равны единице. Это первый набор.
Если К=0, то М равен 0 или 1. Если М равен 1, то N 1 или 0. Если N=1, то L=0, из-за второй скобки. Это второй набор.
Если N=0, то L 1 или 0. Это 3 и 4 наборы.
Если М равен 0, то N 1 или 0. Если N=1, то L 1 или 0. Это 5 и 6 наборы.
Если N=0, то L 1 или 0. Это 7 и 8 наборы.
Ответ: 8
Var n, n1, n2, n3: integer;
begin write('Введите трехзначное число: '); readln(n); if not ((n >= 100 ) and (n <= 999)) then writeln('Не верный вводд числа') else begin n1 := n div 100; n2 := n div 10 mod 10; n3 := n mod 10; writeln('1 - ', n3, n2, n1); writeln('2 - ', n3, n1, n2); writeln('3 - ', n2, n1, n3); end;end.
#include <stdio.h>
int main()
{<span>
int s=0;</span><span>
for (int i=-5;i<=10;i+=3)</span><span>
s+=i;</span><span>
printf("%d", s);</span><span>
return 0;
</span><span>}</span>
|AB CD
00 |1 1
01 |1 1
10 |1 1
11 |1 3
1+1+1+3 = 6
Ответ : 6