Подсчитать количество различных (значащих) цифр в десятичной записи натурального числа n и напечатать в возрастающем порядке все цифры, не входящие в десятичную запись натурального числа n — 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

− 4 = 1