Program a; var s: array of integer; x,n,p,sum,max,min,i,k,o,m:integer; begin p:=1; sum:=0; m:=-1; o:=-1; max:=-MaxInt; min:=MaxInt; Write('n= '); read(n); setlength(s,n); Writeln('Перечислите значения:'); for x:=0 to n-1 do begin read (s[x]); k:=s[x]; if (k>0) and ((k mod 5) =0) then sum:=sum+k; if ((k mod 10)=0) and (k>max) then begin max:=k; o:=x; end; if ((k mod 2) = 0) and (k<min) then begin min:=k; m:=x; end; end;Writeln('Сумма = ',sum); if (ABS(o-m)=1) or (o=m) or (o=-1) or (m=-1) then write('Диапазон не найден') else begin if (o>m) then for i:=m+1 to o-1 do p:=s[i]*p else for i:=o+1 to m-1 do p:=s[i]*p; writeln('Произведение = ',p); end; end.
denblacky
13.02.2021
Первый вопрос: "Эта монета настоящая?" Второй вопрос: "Твой сосед - хитрец?" И только после второго ответа начинаем мыслить. - Если на второй вопрос ответ "да", то ответчик не лжец (потому, что тогда ответ правдив). Значит, или он хитрец, который соврал отвечая на второй вопрос, или он правдивец. В обоих случаях, ответ на первый вопрос - правда. - Если на второй вопрос ответ "нет", то ответчик не правдивец (так как это была бы ложь). Значит, он или лжец или хитрец, ответивший правду. Значит, ответ на первый вопрос - ложь.- То есть, если ответ на второй вопрос "да", то монета настоящая, а если ответ "нет", то фальшивая.