16 номер. Рекурсия
Вычисление рекурсивной функции
(М. Попков) Алгоритм вычисления функции F(n), где n – натуральное число, задан следующими соотношениями:
F(n)=1, при n≤ 3,
F(n)=F(n/3)+4n, при n, кратном трём, и если n>3,
F(n)=n× n× n-26, при n некратном трём, и если n>3.
Определите и запишите в ответ наибольшее натуральное значение n, при котором функция F(n) выведет значение меньше, чем 300.
Подсказка
Начните с базового случая и направления изменения аргумента. Для выражения из нескольких значений сначала проверьте, можно ли сократить общую часть.
Решение
Искомая величина: Определите и запишите в ответ наибольшее натуральное значение n, при котором функция F(n) выведет значение меньше, чем 300.
Выпишите базовые значения и границы каждой ветви. Для конкретного аргумента сначала выберите применимое условие, затем подставляйте рекуррентную формулу этой ветви; базовый случай имеет приоритет перед дальнейшим раскрытием.
Если переходы используют меньшие аргументы, заполняйте значения по возрастанию от базовой области. При повторных обращениях используйте сохранённый результат: это позволяет избежать многократного обхода одних и тех же ветвей рекурсии.
После получения нужных значений подставьте их именно в выражение из вопроса, сохранив коэффициенты, знаки и скобки. Значение одной функции может быть лишь промежуточной величиной, а не окончательным ответом.
Ответ: 36.