Code
uses crt;
var a:array[1..10] of longint;
t,i,n:longint;
procedure tachso(n:longint;var a:array of longint;var t:longint);
var i,dv,j:longint;
begin
i:=1; t:=0;
while n<>0 do
begin
dv:=n mod 10;
a[i]:=dv;
i:=i+1;
n:=n div 10;
t:=t+1;
end;
end;
{-----}
function kiemtra(var t:longint;var a:array of longint):boolean;
var i,j,tam:longint;
begin
kiemtra:=true;
for i:=1 to t do
begin
for j:=i+1 to t do
if a[i]>a[j] then
begin
tam:=a[i];
a[i]:=a[j];
a[j]:=tam;
end;
end;
for i:=1 to t-1 do
if a[i+1]-a[i]<>1 then
begin
kiemtra:=false;
break;
end;
end;
{-------}
begin
clrscr;
n:=0;
for i:=1 to 9999 do
begin
tachso(i,a,t);
if kiemtra(t,a)=true then
begin
write(i:5);
n:=n+1;
if n mod 10 = 0 then writeln();
end;
end;
readln;
end.