Задание
11. Ниже на пяти языках
программирования записан рекурсивный алгоритм F.
Сколько символов «звёздочка» будет
напечатано на экране при выполнении вызова F(6)?
Решение (построение дерева вызовов):
1. Символ «звёздочка» выводится на экран
при положительном значении единственного параметра функции, т.е. достаточно
определить порядок и количество рекурсивных вызовов при n > 0.
2. n div 3 – это
частное от деления n на 3
3. При n > 0 выполняется два рекурсивных вызова, решение удобно оформлять в
виде двоичного дерева (в узлах отмечен вывод символа «звёздочка» и записаны положительные значения
параметров при вызове функции):
4. Считаем «звёздочки», получаем 11.
Ответ: 11
Комментариев нет:
Отправить комментарий