Все ли цифры данного числа различны? — Pascal(Паскаль)

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.

Leave a Comment

+ 89 = 96