Необходимо поставить условие выполнения, иначе рекурсия будет вечной. Вот один из вариантов (что первое в голову взбрело), что можно сделать с вашим кодом:
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)" в моём примере лишняя, но главное - ответ на ваш вопрос: ставьте условие, при котором всё это должно выполнятся.
Answers & Comments
Ответ:
Необходимо поставить условие выполнения, иначе рекурсия будет вечной. Вот один из вариантов (что первое в голову взбрело), что можно сделать с вашим кодом:
Да, "F(n - 1)" в моём примере лишняя, но главное - ответ на ваш вопрос: ставьте условие, при котором всё это должно выполнятся.
Пример работы: