var s:string;
i,j,k:integer;
Unique:boolean;
BEGIN
for i := 1000 to 9999 do
begin
s := str(i);
Unique:=true;
for j: = 1 to length(s)-1 do
for k := j+1 to length(s) do
begin
if s[j] = s[k] then Unique:=false;
end;
if Unique then
writeln(i);
end;
END.
может длинее, но универсальное.