Сколько различных решений имеет уравнение?
((j → k) → (m ∧ n)) ∧((j ∧¬k) → (¬m ∨¬n))∧ (¬m∨ ¬n ∨ k ∨l)=1
где j, k, l, m, n – логические переменные? в ответе не нужно перечислять все
различные наборы значений j, k, l, m и n, при которых выполнено данное равенство.
в качестве ответа вам нужно указать только количество таких наборов.
s: string;
a, b: integer;
begin
readln(s);
if s[1] = 'x' then begin
a := StrToInt(s[3]);
b := StrToInt(s[5]);
if s[2] = '-' then a := -a;
writeln(b - a);
end
else if s[3] = 'x' then begin
a := StrToInt(s[1]);
b := StrToInt(s[5]);
if s[2] = '-' then begin
a := -a;
b := -b;
end;
writeln(b - a);
end
else if s[5] = 'x' then begin
a := StrToInt(s[1]);
b := StrToInt(s[3]);
if s[2] = '-' then
b := -b;
writeln(a + b);
end
end.
учтите что никакой защиты от дурака или неверного ввода
const
N = 5;
var
a: array[1..N] of integer;
i, iMin: integer;
begin
writeln('Исходный массив:');
for i := 1 to N do
begin
a[i] := random(100) - 50;
write(a[i]:4);
end;
iMin := 1;{инциируем первым элементом}
for i := 2 to N do {проверяем все остальные}
if a[i] < a[iMin] then {новый минимальный}
iMin := i; {запомнить i}
writeln; {перейти на новую строку}
writeln('Минимальный элемент a[', iMin, ']=', a[iMin]);
end.