Подсчитать количество различных цифр в десятичной записи натурального числа — Pascal(Паскаль)

uses crt;
type Mn=set of 0..9; {тип множество цифр}
var n,a:longint;
    i,k:byte;
    b:Mn; {переменная этого типа}
begin
clrscr;
write('Vvedite naturalnoe chislo N=');
readln(n);
b:=[];{множество пока пустое}
while n>0 do{пока число больше ноля}
 begin
   a:=n mod 10;{отделяем по одной цифре с конца}
   if not (a in b)then{если ее нет еще в множестве}
     begin
       include(b,a);{вставляем}
       k:=k+1;{считаем}
     end;
   n:=n div 10;{берем число без последней цифры и все повторяем}
 end;
writeln('Kolichestvo raznyh cifr v chisle N=',k);
writeln('V chislo ne vhodyat cifry:');
for i:=0 to 9 do {проверяем цифры от 0 до 9}
if not (i in b )then{если цифры нет в множестве}
write(i,' ');{выводим}
readln
end.

Leave a Comment

70 + = 75