Pagini recente » Cod sursa (job #1792997) | Cod sursa (job #2256233) | Cod sursa (job #374085) | Cod sursa (job #723428) | Cod sursa (job #1013390)
type vect= array[1..100] of integer;
var n:integer; v:vect;
function valid(k:integer):boolean;
var j:integer;
begin
valid:=true;
for j:=1 to k-1 do
if v[j]=v[k] then valid:=false
end;
function succ(var v:vect; k:integer):boolean;
begin
if v[k]<n then
begin
v[k]:=v[k]+1;
succ:=true;
end
else succ:=false;
end;
procedure afis;
var x:integer;
begin
for x:= 1 to n do
write(v[x],' ');
writeln;
end;
procedure back(k:integer);
var i:integer;
begin
if (valid(k) and (k=n+1)) then afis
else
begin
v[k]:=0;
while succ(v,k) do
if valid(k) then back(k+1);
end;
end;
begin
reaD(n);
back(1);
end.