Предмет: Информатика, автор: Gary124

Дан рекурсивный алгоритм:

procedure F(n: integer);
begin
writeln('*');
if n>0 then begin
F(n-2);
F(n div 2);
end
end;

Сколько символов «звёздочка» будет напечатано на экране при выполнении вызова F(5)?

Ответы

Автор ответа: Hak333444566
1

Ответ:

При выполнении вызова F(5) на экран будет напечатано 5 символов «звёздочка», так как функция вызовет саму себя два раза: с аргументом 3 и с аргументом 2.

При вызове F(3) будет напечатана 1 звёздочка, так как она вызовет себя с аргументом 1 и 1 звездочка будет напечатана в основном блоке кода.

При вызове F(2) тоже будет напечатана 1 звёздочка и выполнение функции закончится.

Итого: 5 звёздочек.

Объяснение:

Похожие вопросы