Pagini recente » Cod sursa (job #2831147) | Cod sursa (job #2804320) | Cod sursa (job #2618238) | Cod sursa (job #2595464) | Cod sursa (job #145310)
Cod sursa(job #145310)
program permutari;
var st:array[1..20]of integer;
k,n,i:integer;
g:text;
as,ev:boolean;
procedure citire;
var f:text;
begin
assign(f,'permutari.in');reset(f);
read(f,n);
close(f);
end;
procedure succesor;
begin
if st[k]<n then
begin
inc(st[k]);
as:=true;
end
else as:=false;
end;
procedure valid;
begin
ev:=true;
if k>=2 then for i:=1 to k-1 do if st[i]=st[k] then ev:=false;
end;
begin {pp}
citire;
assign(g,'permutari.out'); rewrite(g);
k:=1;
while k>0 do
begin
repeat
succesor;
if as then valid;
until not as or (as and ev);
if as then if k=n then begin
for i:=1 to n do write(g,st[i],' ');
writeln(g);
end
else begin inc(K); st[k]:=0; end
else dec(k);
end;
close(g);
end.