Program gt;
var b:array[1..100]of integer;
r,i,n,q,min,t:integer;
begin
read(N);
q:=0;
for i:=1 to n do
begin
read(b[i]);
if(b[i]>0)then begin
q:=q+1;
if(q=1)then begin
r:=i;
t:=b[i];
end;
end;
end;
min:=b[1];
for i:=2 to n do
if(b[i]<min)then min:=b[i];
for i:=1 to n do
begin
if(b[i]=min)then b[i]:=t;
if(i=r)then b[i]:=min;
write(b[i],' ');
end;
end.
//Pascal
var a, b:integer;
begin
readln(a,b);
if a>0 then writeln(a*b);
if (a<0) and (b<>0) then writeln(a/b)
else if (a<0) and (b=0) then writeln('Делить на 0 нехорошо!');
end.
Ответ 2. Вот смотри. У тебя есть два множества, которые у меня на рисунке. Мысленно ну или на бумаге подели этот рисунок на части, в которых может быть икс и при этом, где буду меняться условия. т.е. вот тебе три части, для которых требуются разные условия. в самом низу там наискосок неаккуратно (извини) написала все возможные варианты. в первом тебе все равно, где множество а, у тебя уже есть единица в одном из слагаемых, во втором тоже неважно, там следование в любом случае будет равно единице. а вот в третьем нужно подобрать такое расположение множества а, чтобы не было операции следования в ноль из единицы, нужно из нуля в ноль. т.е. чтобы в момент нахождения в третьем отрезке, мы не находились в множестве а. из представленных вариантов расположения подходит только второй
3х=120
х=40
за 40 секунд 1 Мбайт
4 за 160 секунд
или 2 мин 40 секунд
program pr;
var
a,b:integer;
begin
readln(a,b);
while(a<=b) do readln(a,b);
writeln(0.5*a*b,', ',a+b+sqrt(a*a+b*b));
end.