Что-то не пойму: в чем подвох?
Если надо найти все возможные варианты именно для 4-ки и только для нее без повторения цифр в числе, то:
Код:
var
l,m,n,k:integer;
begin
for l:=1 to 4 do
for m:=1 to 4 do if l<>m then
for n:=1 to 4 do if (n<>m) and (n<>l) then
for k:=1 to 4 do if (k<>n) and (k<>m) and (k<>l) then
writeln(inttostr(l*1000+m*100+n*10+k));
readln;
end.
Оно?