Функция задана рекуррентно: известно её значение при малом n, а каждое следующее выражено через предыдущие, например F(n)=n⋅F(n−1). Повышенный уровень: нужно найти значение функции или выражения из нескольких её значений, иногда при n в тысячах; спецификация относит задание к тем, где нужны программы на компьютере, ответ — число, 1 балл.
Ответ
число в поле ответа
Баллы
1 балл
Проверяет
умение вычислять значения функции, которая задана через свои значения при меньших аргументах
Сколько времени закладывать
около 5 минут по спецификации ФИПИ
Какие бывают подтипы
Цепочка по предыдущему значению — F(n) выражается через F(n−1): значения считают по порядку от известного.
Опора на два предыдущих — F(n) зависит от F(n−1) и F(n−2): таблицу значений заполняют слева направо.
Что напечатает процедура — Процедура печатает число и вызывает сама себя с меньшими аргументами: сколько чисел она напечатает или какая получится сумма.
Большой номер — Как в демоверсии: n измеряется тысячами, и выражение из нескольких значений функции упрощают или считают программой.
Пример с полным разбором
Условие. Функция задана соотношениями: F(n)=3 при n=1;F(n)=(n+1)⋅F(n−1) при n>1. Чему равно значение выражения F(2023)F(2025)−3⋅F(2024)?
Если посчитать F(2025) функцией, которая вызывает сама себя, получится больше двух тысяч вложенных вызовов, и Python остановит программу с ошибкой. Поэтому сначала упростим выражение.
По определению F(2025)=2026⋅F(2024) и F(2024)=2025⋅F(2023). Значит, F(2025)=2026⋅2025⋅F(2023).
Спецификация относит задание к тем, где нужны программы на компьютере: среда программирования или электронные таблицы. Небольшие номера считают и вручную, по таблице значений, но при n в тысячах выручает программа или упрощение выражения, как в примере.
Что значит «задана рекуррентно»?
Значение функции выражено через её же значения при меньших аргументах, а для самых маленьких аргументов дано прямо. От известных значений по формуле шаг за шагом доходят до нужного.