Как ** паскале программу с рекурсией пропустить? procedure F (n: longint); begin write...

+907 голосов
5.6m просмотров

Как на паскале программу с рекурсией пропустить? procedure F (n: longint); begin write (n); F(n-1); F(n div 2); end; допишите что нужно))


Информатика (150 баллов) | 5.6m просмотров
Дан 1 ответ
+170 голосов

Ответ:

Необходимо поставить условие выполнения, иначе рекурсия будет вечной. Вот один из вариантов (что первое в голову взбрело), что можно сделать с вашим кодом:

  • procedure F(n: longint);
  • begin
  • if n mod 2 = 0 then
  • begin
  • write(n, ' ');
  • F(n - 1);
  • F(n div 2);
  • end;
  • end;
  • begin
  • F(1024);
  • end.

Да, "F(n - 1)" в моём примере лишняя, но главное - ответ на ваш вопрос: ставьте условие, при котором всё это должно выполнятся.

Пример работы:

(3.7k баллов)