Pagini recente » Cod sursa (job #2355061) | Cod sursa (job #3150402) | Cod sursa (job #45866) | Cod sursa (job #577585) | Cod sursa (job #743896)
Cod sursa(job #743896)
var st:array[1..8] of byte;
n,k:byte;
as,ev:boolean;
procedure succesor(var as:boolean; k:integer);
begin
if st[k]<n then
begin
inc(st[k]);
as:=true
end
else
as:=false
End;
procedure valid(var ev:boolean; k:integer);
var i:integer;
begin
ev:=true;
for i:=1 to k-1 do
if st[k]=st[i] then
ev:=false;
End;
procedure tipar;
var i:integer;
begin
for i:=1 to n do
write(st[i],' ');
writeln;
end;
BEGIN
assign(input,'permutari.in');
reset(input);
readln(n);
close(input);
assign(output,'permutari.out');
rewrite(output);
k:=1;
st[k]:=0;
while k>0 do
begin
repeat
succesor(as,k);
if as
then
valid(ev,k);
until (not as) or (as and ev);
if as
then
if k=n
then
tipar
else
begin
inc(k);
st[k]:=0
end
else
dec(k)
end;
close(output);
END.