uses crt;
var n:longint;
k,c:byte;
m:set of 0..9;
begin
clrscr;
write('n=');
readln(n);
writeln('Все ли цифры различны?');
m:=[];
while n>0 do
begin
if not (n mod 10 in m) then
begin
k:=k+1;
m:=m+[n mod 10];
end;
c:=c+1;
n:=n div 10;
end;
write(c=k);
readln
end.
Следующий вариант
Program Test;
Uses Crt;
Var
a:array[0..9] of byte;
X:word;
j:byte;
flg:boolean;
BEGIN
ClrScr;
FillChar(a,SizeOf(a),0);
write('Input X=');
readln(X);
flg:=true;
while X>0 do
begin
a[X mod 10]:=a[X mod 10]+1;
if a[X mod 10]>1 then
begin
flg:=false;
break
end;
X:=X div 10
end;
if flg
then writeln('Yes')
else writeln('No');
repeat
until KeyPressed
END.