Дано целое число n(1 to 10^9). Найти количество различных цифр в десятичной записи числа — Pascal(Паскаль)

uses crt;
var n:longint;
    k,p:byte;
    m:set of byte;
begin
clrscr;
write('n=');
readln(n);
m:=[];p:=0;
while n>0 do
 begin
  k:=n mod 10;
  if not (k in m)then
    begin
     include(m,k);
     p:=p+1;
    end;
  n:=n div 10;
 end;
write('В числе разных цифр=',p);
readln
end.

Следующий вариант

uses crt;
var s:string;
    m:set of char;
    k,i:byte;
begin
clrscr;
repeat
k:=0;
writeln('Введите натуральное число:');
readln(s);
for i:=1 to length(s) do
if not(s[i] in ['0'..'9']) then k:=1;
if k=1 then writeln('Это не натуральное число, повторите ввод');
until k=0;
m:=[];k:=0;
for i:=1 to length(s) do
if not(s[i] in m) then
 begin
  k:=k+1;
  m:=m+[s[i]];
 end;
write('Количество различных симолов в строке  равно ',k);
readln
end.

Leave a Comment

− 9 = 1