Найти все натуральные n-значные числа, цифры в которых образуют строго возрастающую последовательность (например, 1234, 5789).

ЧеТКиЙВсЕУмиЙ ЧеТКиЙВсЕУмиЙ    3   16.04.2019 23:00    7

Ответы
yanastywa2000 yanastywa2000  16.04.2019 23:00
var n, i : Byte; d : array [1..9] of Byte;
 
procedure WriteD;
begin
  for var i := 1 to n do Write(d[i]); Write(#32);
end;
 
procedure NextD(r : Byte);
begin
  if r = 0 then Halt;
  Inc(d[r]);
  if d[r] > 9 - n + r then
    begin
      NextD(r - 1);
      d[r] := d[r-1]+1;
    end;
end;
 
begin
  ReadLn(n);
  if (n < 1) or (n > 9) then Exit;
  for i := 1 to n do d[i] := i; WriteD;
  repeat NextD(n); WriteD until False;
end.
ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Другие предметы