Pagini recente » Cod sursa (job #559183) | Cod sursa (job #1878959) | Cod sursa (job #1676917) | Cod sursa (job #2413690) | Cod sursa (job #248107)
Cod sursa(job #248107)
type stiva=array [1..100] of longint;
var f,g:text;
st,a:stiva;
n,i,k,j:integer;
as,ev:boolean;
procedure init(k:integer;var st:stiva);
begin
st[k]:=0;
end;
procedure succesor(k:integer; var st:stiva; var as:boolean);
BEGIN
if st[k]<n then begin
st[k]:=st[k]+1;
as:=true;
end
else
as:=false;
end;
procedure valid(k:integer; st:stiva; var ev:boolean);
var i:integer;
begin
ev:=true;
if k>1 then if st[k-1] mod 2 = 0 then ev:=false;
end;
function solutie(k:integer;st:stiva):boolean;
begin
solutie:=2=k;
end;
begin
assign(f,'fractii.in');
reset(f);
assign(g,'fractii.out');
rewrite(g);
read(f,n);
j:=1;
k:=1;
init(k,st);
while k>0 do begin
repeat
succesor(k,st,as);
if as then valid(k,st,ev);
until( as and ev) or (not as);
if as then if solutie (k,st) then j:=j+1
else begin
k:=k+1;
init(k,st);
end
else k:=k-1;
end;
write(g,j);
close(f);
close(g);
end.