Pagini recente » Cod sursa (job #1681941) | Cod sursa (job #1148624) | Cod sursa (job #2394218) | Cod sursa (job #124670) | Cod sursa (job #411245)
Cod sursa(job #411245)
var
x:array[1..8] of byte;
n,k,i:byte;
ok:boolean;
f,g:text;
procedure cont(k:integer; var ok:boolean);
var
i:integer;
begin
ok:=true;
for I:=1 to k-1 do
if x[i]=x[k]
then
ok:=false;
end;
function succesor(k:byte):boolean;
begin
succesor:=false;
if x[k]<n
then
begin
x[k]:=x[k]+1;
succesor:=true;
end;
end;
begin
assign(f,'permutari.in');
reset(f);
readln(f,n);
close(f);
assign(g,'permutari.out');
rewrite(g);
k:=1;
x[k]:=0;
while (k>0) do
begin
ok:=false;
while (not ok) and succesor(k) do
cont(k,ok);
if not ok
then
k:=k-1
else
if k=n
then
begin
for I:=1 to n do
write(g,x[i],' ');
writeln(g);
end
else
begin
k:=k+1;
x[k]:=0;
end;
end;
close(g);
end.