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


решение вопроса

+7
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.
ответил 18 Дек, 18 от Olenka

Связанных вопросов не найдено

Обучайтесь и развивайтесь всесторонне вместе с нами, делитесь знаниями и накопленным опытом, расширяйте границы знаний и ваших умений.

Популярное на сайте:

Как быстро выучить стихотворение наизусть? Запоминание стихов является стандартным заданием во многих школах. 

Как научится читать по диагонали? Скорость чтения зависит от скорости восприятия каждого отдельного слова в тексте. 

Как быстро и эффективно исправить почерк?  Люди часто предполагают, что каллиграфия и почерк являются синонимами, но это не так.

Как научится говорить грамотно и правильно? Общение на хорошем, уверенном и естественном русском языке является достижимой целью.