Задание №16 ЕГЭ Информатика с ответом и решением
Ответ: 48
Условие
Алгоритм вычисления значения функции F(n), где n — натуральное число, задан следующими соотношениями:
F(1) = 1;
F(2) = 1;
F(n) = F(n – 2) · (n – 1) при n > 2.
Чему равно значение функции F(7)? В ответе запишите только натуральное число.
Подсказки — как подойти к решению
- Выписывай значения функции в столбик по возрастанию n: каждое новое опирается на результат двух шагов назад, поэтому сначала посчитай все промежуточные значения, а не подставляй n в формулу напрямую.
- Следи за множителем: в рекуррентной формуле стоит (n – 1), а не само n, и шаг аргумента равен двум. Не забудь про два базовых случая с единицей — на них рекурсия останавливается.
Решение
Последовательно находим:
F(3) = F(1) · 2 = 2;
F(4) = F(2) · 3 = 3;
F(5) = F(3) · 4 = 8;
F(6) = F(4) · 5 = 15;
F(7) = F(5) · 6 = 48.
Ответ: 48.
Приведём другое решение на языке Python.
def F(n):
if n == 1:
return 1
if n == 2:
return 1
if n > 2:
return F(n - 2) * (n - 1)
print(F(7))
Типичные ошибки
- Ты умножил последнее посчитанное значение, а брать нужно результат с шагом два: аргумент уменьшается через один. Пересчитай цепочку по порядку и проверь, что множитель равен n – 1.
Решить это задание в тренажёре
В тренажёре: подсказки по шагам, разбор твоей ошибки ИИ-репетитором (он не даёт готовый ответ), повторение ошибок по интервалам и общий прогресс. Все задания №16 по информатике