На отрезке [100, N] (2^10 < N < 2^31) найти количество чисел, составленных из цифр а, b, с. (программа Паскаль)

Ytkin4560 Ytkin4560    1   16.04.2019 23:00    22

Ответы
Wolfie2006 Wolfie2006  16.04.2019 23:00
function f(a, b, c: Integer; n: Longint): Longint;
var
  i, m, r: Longint;
  k, ka, kb, kc, ko: Integer;
begin
  r:=0;
  for i:=100 to n do begin
    if i mod 100000=0 then Write(i,', ',r,#13);
    m:=i; ka:=0; kb:=0; kc:=0; ko:=0;
    while (m>0) and (ko=0) do begin
      k:=m mod 10;
      if k=a then Inc(ka)
      else if k=b then Inc(kb)
      else if k=c then Inc(kc)
      else Inc(ko);
      m:=m div 10;
    end;
    if (ka>0) and (kb>0) and (kc>0) and (ko=0) then Inc(r);
  end;
  f:=r;
end;
var
  a, b, c, m: Integer;
  n: Longint;
begin
  Write('Введите цифры a, b, c и число n: '); ReadLn(a,b,c,n);
  m:=f(a,b,c,n);
  WriteLn('На отрезке 100..',n,' чисел из цифр ',a,', ',b,', ',c,': ',m);
end.
ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Другие предметы