var a,b,c,d:integer; function max (const x,y:integer):integer; begin if (x>y) then max:=x else max:=y; end; function min (const x,y:integer):integer; begin if (x<y) then min:=x else min:=y; end; begin readln (a,b,c,d); writeln (max(min(a,b),min(c,d))); end.
Пусть *(n) - число звёздочек, которое выведет процедура f(n).
Так как f(n) всегда выводит 1 звёздочку, а если если n > 2 - то вызывает f(n - 1) и f(n - 2), то *(n) = 1 при n <= 2 *(n) = 1 + *(n - 1) + *(n - 2) при n > 2.
Пусть *(n) - число звёздочек, которое выведет процедура f(n).
Так как f(n) всегда выводит 1 звёздочку, а если если n > 2 - то вызывает f(n - 1) и f(n - 2), то *(n) = 1 при n <= 2 *(n) = 1 + *(n - 1) + *(n - 2) при n > 2.
function max (const x,y:integer):integer;
begin
if (x>y) then max:=x else max:=y;
end;
function min (const x,y:integer):integer;
begin
if (x<y) then min:=x else min:=y;
end;
begin
readln (a,b,c,d);
writeln (max(min(a,b),min(c,d)));
end.