program numero;
uses crt;
const n=10; m=3628800;
const i:array[1..n] of integer=(2,4,5,3,1,6,9,0,8,7);
const ii:array[1..n] of integer=(6,8,7,1,2,0,9,4,3,5);
const iii:array[1..n] of integer=(3,0,9,2,1,8,4,5,7,6);
const iv:array[1..n] of integer=(2,4,1,3,0,8,9,5,7,6);
var v:array[1..n] of integer; s:integer;
var j,k,l,u:byte; h:longint;
label la;
procedure scambia (var c1,c2:integer); var c3:integer;
begin c3:=c1; c1:=c2; c2:=c3; end;
begin
clrscr;
for j:=1 to n do v[j]:=j-1;
for h:=1 to m do
begin
k:=0; for j:=1 to n do if v[j]=i[j] then inc(k);
if k=8 then begin
k:=0; for j:=1 to n do if v[j]=ii[j] then inc(k);
if k=2 then begin
k:=0; for j:=1 to n do if v[j]=iii[j] then inc(k);
if k=1 then begin
k:=0; for j:=1 to n do if v[j]=iv[j] then inc(k);
if k=4 then begin
for j:=1 to n do write(v[j]); writeln;
end;
end;
end;
end;
for l:=n downto 2 do for j:=n downto l do begin
if v[j]>v[l-1] then begin scambia (v[l-1],v[j]);
for u:=0 to trunc((n-1-1)/2) do scambia(v[n-u],v[1+u]); goto la;
end;
end;
la:end;
end.
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment