Предмет: Информатика,
автор: HP2020
Предоставлен рекурсивный алгоритм:
procedure F(n: integer);
begin
writeln(n);
if n < 5 then
begin
F(n + 3);
F(n * 3)
end
end;
Определите и напишите сумму чисел, которые будут выведены при вызове F(1).
Ответы
Автор ответа:
0
Ответ:
42
Объяснение:
F(1): вывод 1. Т.к. 1<5, произойдут рекурсивные вызовы
F(1+3)=F(4): вывод 4. Т.к. 4<5, произойдут рекурсивные вызовы
F(4+3)=F(7): вывод 7. Т.к. 7>5, рекурсивные вызовы не произойдут.
F(4*3)=F(12): вывод 12. Т.к. 12>5, рекурсивные вызовы не произойдут.
F(1*3)=F(3): вывод 3. Т.к. 3<5, произойдут рекурсивные вызовы
F(3+3)=F(6): вывод 6. Т.к. 6>5, рекурсивные вызовы не произойдут.
F(3*3)=F(9): вывод 9. Т.к. 9>5, рекурсивные вызовы не произойдут.
Сумма выведенных чисел будет равна 1+4+7+12+3+6+9=42
Приложения:
Похожие вопросы
Предмет: Математика,
автор: 89196816762
Предмет: История,
автор: Аноним
Предмет: Математика,
автор: Аноним
Предмет: Математика,
автор: iskakovaalbinoz3yx4
Предмет: Физика,
автор: ekaterina1312444