Function oddcount(ar:array[1..n;1..m] of integer):integer; var i,j:integer; begin result:=0; for i:=1 to n do for j:=1 to m do begin if odd(ar[i,j]) then result:=result+1; end; writeln(result); end; Вот так как-то.
Обозначим P,Q,A утверждение что х принадлежит соответствующему отрезку ¬А отрицание А, то есть х не принадлежит А перепишем и упростим исходную формулу P→((Q∧¬A)→P) известно что X→Y=¬X∨Y (доказывается просто, например через таблицу истинности) тогда: P→(¬(Q∧¬A)∨P) раскроем скобку ¬(Q∧¬A) с закона де Моргана (стыдно их не знать, если что это такие же основы как и таблицы истинности) P→(¬Q∨¬¬A∨P) = P→(¬Q∨A∨P) = ¬P∨¬Q∨A∨P ¬P∨P=1 то есть всегда истинно и 1∨Х=Х значит ¬P и P можно убрать остается ¬Q∨A Значит х либо принадлежит А либо не принадлежит Q для выполнения этого условия необходимо чтобы все значения Q принадлежали А, тогда минимальное А совпадает с Q ответ А=[40,77]
var i,j:integer;
begin
result:=0;
for i:=1 to n do
for j:=1 to m do
begin
if odd(ar[i,j]) then
result:=result+1;
end;
writeln(result);
end;
Вот так как-то.