Предмет: Информатика,
автор: Maks23c
Дан рекурсивный алгоритм:
procedure F(n: integer);
begin
writeln(n);
if n < 5 then begin
F(n+2);
F(n*2)
end
end;
Отметьте числа, которые будут выведены при вызове F(1).
1
2
3
4
5
6
8
10
14
Ответы
Автор ответа:
8
Ответ:
1,2,3,4,5,6,8
Объяснение:
Что напечатается:
1
3
5
6
2
4
6
8
4
6
8
При вызове F(1) печатается 1. Дальше вызовется F(3)
Напечатается 3. Вызовется F(5)
Напечатается 5. F(7) не вызывается, т.к. 7>5
Теперь вызывается вторая функция для F(3), то есть F(6)
Печатается 6. Дальше вызывается вторая функция для F(1), то есть F(2)
Печатается 2. Вызывается первая функция для F(2), т.е. F(4).
Печатается 4. Вызывается первая функция для F(4), т.е. F(6).
Печатается 6. Вызывается вторая функция для F(4), т.е. F(8)
Печатается 8. Вызывается вторая функция для F(2), т.е. F(4)
Печатается 4. Вызываются первая и вторая функции F(6) и F(8)
Печатается 6
Печатается 8
Похожие вопросы
Предмет: Қазақ тiлi,
автор: Marusichka04
Предмет: Русский язык,
автор: КоТэ100401
Предмет: Русский язык,
автор: Hitman5091
Предмет: Физика,
автор: радуга77