Mai intai trebuie sa te autentifici.
Cod sursa(job #144682)
| Utilizator | Data | 27 februarie 2008 20:59:24 | |
|---|---|---|---|
| Problema | Generare de permutari | Scor | 100 |
| Compilator | fpc | Status | done |
| Runda | Arhiva educationala | Marime | 0.55 kb |
var n,i,j,aux:longint;
p:array[1..8] of byte;
f,g:text;
begin
assign(f,'permutari.in');reset(f);
assign(g,'permutari.out');rewrite(g);
read(f,n);
for i:=1 to n do begin
p[i]:=i;
write(g,p[i],' ');
end;
writeln(g);
repeat
i:=n;
while (i>0) and (p[i]>p[i+1]) do
i:=i-1;
if i>0 then begin
j:=n;
while p[j]<p[i] do
j:=j-1;
aux:=p[i];
p[i]:=p[j];
p[j]:=aux;
for j:=i+1 to (n+i+1) div 2 do begin
aux:=p[j];
p[j]:=p[(n+i+1)-j];
p[(n+i+1)-j]:=aux;
end;
for i:=1 to n do write(g,p[i],' ');
writeln(g);
end;
until i=0;
close(f);
close(g);
end.