Рекуррентные выражения и числовые последовательности
Вычисление рекуррентных функций и обработка групп числовой последовательности.
На экзамене
Задания 16 и 17. Нужно вычислять рекуррентную функцию и отбирать элементы, пары или группы числовой последовательности.
Формулы и факты
- Базовый случай останавливает рекурсию и вычисляется без нового вызова.
- Таблицу значений заполняй от меньших аргументов к большим.
- При нескольких одинаковых вызовах сохраняй уже найденное значение.
- Возвращаемое значение функции и напечатанный текст: разные результаты.
- В последовательности из
nэлементов естьn - 1соседних пар. - Последняя цифра отрицательного числа обычно проверяется у его модуля.
- Делимость на
d: остаток равен 0; ноль делится на любое ненулевое целоеd.
| Формулировка для пары | Условие |
|---|---|
| Оба | A AND B |
| Хотя бы один | A OR B |
| Ровно один | Логические значения A и B различаются |
| Ни один | A и B ложны |
Алгоритм
Рекуррентная функция
- Выпиши базовые случаи и условия всех ветвей.
- Определи, какие меньшие аргументы нужны.
- Построй таблицу от базы до искомого аргумента.
- Сначала выбери ветку по аргументу, затем подставь сохраненные значения.
- Вывод до и после рекурсивного вызова записывай отдельно.
Последовательность
- Уточни объект перебора: элементы, соседние пары, все пары или тройки.
- Если условие зависит от общего порога, найди его первым проходом.
- Перебирай только существующие группы и вычисляй признаки каждого элемента.
- При выполнении условия увеличь счетчик и обнови экстремум.
- Инициализируй экстремум первым подходящим результатом, а не числом 0.
Ловушки
- Путают: базовый случай и рекуррентную ветку. Сверь: сначала проверь условие остановки.
- Путают: условие на аргумент и на значение функции. Сверь: подпиши переменную в каждой ветке.
- Путают: соседние пары и все сочетания. Сверь: соседняя пара имеет индексы
iиi + 1. - Путают: "ровно один" и "хотя бы один". Сверь: для "ровно один" признаки различаются.
- Путают: нулевой начальный максимум и корректный экстремум. Сверь: допустимые значения могут быть отрицательными.