Шаг 31.
Рекурсия на Python.
Методика рекурсивного мышления. Примеры задач

    На этом шаге мы рассмотрим несколько простых заданий и приведем их решения.

    Приведем несколько примеров решения задач.

    Задание 1. Рассмотрим функцию суммирования первых n положительных целых чисел (1.5). Определите обобщённую функцию, которая применима также ко всем неотрицательным целым числам. Другими словами, измените функцию с учётом того, что она может получать в качестве аргумента n = 0. После этого закодируйте функцию.

Раскрыть/скрыть решение и комментарии.

    Задание 2. Рассмотрим задачу вывода на экран цифр некоторого неотрицательного целого числа n вертикально в прямом порядке, где старший разряд должен появиться в 1-й строке, следующий за ним – во 2-й и т. д. Например, если n = 2743, программа должна выдать на экран следующие строки:

2
7
4
3
Выведите рекурсивное условие и закодируйте метод.

Раскрыть/скрыть решение и комментарии.

    Задание 3. Определите рекурсивную функцию, вычисляющую наибольшее значение в списке из n элементов, когда декомпозиция просто уменьшает размер задачи на 1.

Раскрыть/скрыть решение и комментарии.

    Со следующего шага мы начнем рассматривать анализ времени выполнения рекурсивных алгоритмов.




Предыдущий шаг Содержание Следующий шаг